¿Contenido predeterminado para una publicación en una categoría?

4

Esta es una función común que agrega texto predeterminado a todas las publicaciones:

add_filter( 'default_content', 'my_editor_content' );
function my_editor_content( $content ) {
    $content = "default content goes here....";
    return $content;
}

¿Cómo se cambiaría esto para agregar el contenido predeterminado solo a una publicación en una categoría?

10/10/11 No es una respuesta exacta, pero hay algunas opciones a continuación en mi propia respuesta

    
pregunta markratledge 09.04.2011 - 15:59

2 respuestas

3

Una posibilidad es esta pregunta / respuesta de Jan Fabry, que solicita el contenido predeterminado en el proceso de creación de la nueva publicación: ¿Forzar la elección de categoría antes de crear una nueva publicación?

Terminé usando una etiqueta rápida como una forma de incluir fácilmente el contenido en una publicación, y debido a que el contenido predeterminado es html, funciona tan bien como puede por ahora. Pero en el futuro, habrá una manera de obtener contenido predeterminado en una publicación cuando esa publicación se guarde en esa categoría, eso será bueno.

Función de etiquetas rápidas para functions.php:

//Custom Quicktags Function

function my_quicktags() {
    wp_enqueue_script('custom_quicktags',
    get_bloginfo('template_directory').'/custom-quicktags.js', array('quicktags'));
}
add_action('admin_print_scripts', 'my_quicktags');

Código de etiquetas rápidas de muestra para custom-quicktags.js, que se encuentra en la carpeta del tema:

edButtons[edButtons.length] =
new edButton('newbutton1'
,'TagButtonName'
,'html, like <div>'
,'and more </div>'
,''
);
    
respondido por el markratledge 10.04.2011 - 17:53
0

Puede globalizar $ publicar y verificar si tiene la categoría que desea:

add_filter( 'default_content', 'my_editor_content' );
function my_editor_content( $content ) {
    global $post;
    $the_one_category_id= '12'; //the category you want this to work on id
    $args= array('orderby' => 'name', 'order' => 'ASC', 'fields' => 'ids');
    $cats = wp_get_object_terms($post->ID, 'category',$args);
    if (in_array($the_one_category_id,$cats)){
        $content = "default content goes here....";
    }
        return $content;
    }
    
respondido por el Bainternet 09.04.2011 - 16:57

Lea otras preguntas en las etiquetas