Hola Naked!
Tenés algunos errores, y yo lo avancé un poco pero no está completo.
1- No muy importante, pero el encabezado del plugin necesita estar entre comments.
Código PHP:
Ver original/*
Plugin Name: xxxx
Plugin URI: xxx
Description: xxx
Version: 1.0
Author: xxx
Author URI: xxx
License: xxx
*/
2- Tu metabox se genera bien, pero no guarda en ningún momento el contenido. Me di el lujo de reformularlo.
Código PHP:
Ver originaladd_action('admin_menu', 'campos_fuentes');
function campos_fuentes() {
add_meta_box('fuente','Fuentes','func_camp_fuentes','post','normal','high');
}
function func_camp_fuentes() {
global $wpdb, $post;
$custom = get_post_custom($post->ID);
$fuente = $custom["fuente"][0];
?>
<div class="caja_admin_fuentes">
<input type="text" name="fuente" id="aniadirfuntes" value="<?php get_post_meta($post->ID, 'fuente', true); ?>" style="width: 200px;" />
</div>
<?php
}
add_action('save_post', 'save_details');
add_action('publish_post', 'save_details');
function save_details() {
global $post;
$custom_meta_fields = array( 'fuente'
);
foreach( $custom_meta_fields as $custom_meta_field ) {
if(isset($_POST[$custom_meta_field]) && !empty($_POST[$custom_meta_field])) { update_post_meta($post->ID, $custom_meta_field, $_POST[$custom_meta_field]);
}
}
}
3- Ahora te queda a vos la tarea de imprimir el link resultante. Te paso un código que encontré en los foros de soporte de WordPress para añadir un hook a the_content, para que tengas una base de donde partir.
Código PHP:
Ver originalfunction add_before_content($content) {
return 'Default Message'.$content;
}
add_filter('the_content', add_before_content);
Tenenos al tanto de como avanzás con este tema!