web-dev-qa-db-fra.com

Contenu par défaut ou prédéfini pour les types de publication personnalisés

J'essaie de modifier le code pour que le contenu par défaut s'affiche en fonction du type de publication, mais jusqu'à présent, je n'ai pas réussi. Le code de base est:

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

Mes modifications incluent:

add_filter( 'default_content', 'my_editor_content' );

function my_editor_content( $content ) {
    if ( 'sources' == get_post_type() ) {
        $content = "Please insert an image of the document into this area.  If there is no image, please descript the document in detail.";
        return $content;
    } elseif ( 'stories' == get_post_type() ) {
        $content = "Please write your reminiscences, recollections, memories, anecdotes, and remembrances in this area.";
        return $content;
    } elseif ( 'pictures' == get_post_type() ) {
    $content = "Please insert an image of a photograph into this area.";
    return $content;
    } else {
    $content = "default!";
    return $content;
};}

Mais ça ne marche pas. J'ai l'impression d'avoir raté l'évidence.

1
Isendra

Utilisez le deuxième paramètre $post et cochez $post->post_type à côté d'un commutateur, il est plus facile et plus agréable de travailler avec plusieurs que si sinon, sinon, etc.

add_filter( 'default_content', 'my_editor_content', 10, 2 );

function my_editor_content( $content, $post ) {

    switch( $post->post_type ) {
        case 'sources':
            $content = 'your content';
        break;
        case 'stories':
            $content = 'your content';
        break;
        case 'pictures':
            $content = 'your content';
        break;
        default:
            $content = 'your default content';
        break;
    }

    return $content;
}

J'espère que cela pourra aider..

3
t31os

Essayez quelque chose de plus semblable à:

function my_editor_content( $content ) {

 global $post

 if (get_post_type($post) == 'sources'){
 //rest of your stuff
0
Wyck