jueves, 11 de octubre de 2012

añadir un campo en el editor de posts de wordpress

Por ejemplo, si se quiere agregar un "subtítulo", se mete lo siguiente en el functions.php (también se puede meter en un archivo y subirlo a la carpeta plugins):



add_action('admin_menu', 'agregar_campos');
function agregar_campos() {
        add_meta_box('subtitulo','Subtítulo','fn_subtitulo','post','normal','high');
}

function fn_subtitulo() {
        global $wpdb, $post;
        $value  = (get_post_meta($post->ID, subtitulo, true));
        echo '<label class="hidden" for="subtitulo">Subtítulo</label>
        <input type="text" name="subtitulo" id="subtitulo" value="'.htmlspecialchars($value).'" style="width: 600px;" />';
}

add_action('save_post', 'guardar_campos');
add_action('publish_post', 'guardar_campos');
function guardar_campos() {
   global $wpdb, $post;
        if (!$post_id) $post_id = $_POST['post_ID'];
        if (!$post_id) return $post;
        $subtitulo= $_POST['subtitulo'];
        update_post_meta($post_id, 'subtitulo', $subtitulo);
}

add_action('delete_post', 'borrar_campos');
function borrar_campos() {
   global $wpdb, $post;
        if (!$post_id) $post_id = $_POST['post_ID'];
        if (!$post_id) return $post;
        delete_post_meta($post_id, 'subtitulo');
}


y después se llama al campo dentro del loop:

<?php echo get_post_meta($post->ID, subtitulo, true); ?>

No hay comentarios:

Publicar un comentario