it-swarm.com.de

Standardinhalt oder voreingestellter Inhalt für benutzerdefinierte Beitragstypen

Ich versuche, den Code für den Standardinhalt so zu ändern, dass er basierend auf dem Beitragstyp angezeigt wird. Bisher war ich jedoch erfolglos. Der Basiscode ist:

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

Meine Änderungen umfassen:

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;
};}

Aber das funktioniert einfach nicht. Ich habe das Gefühl, das Offensichtliche verpasst zu haben.

1
Isendra

Verwenden Sie den zweiten Parameter $post und überprüfen Sie $post->post_type neben einem Schalter. Es ist einfacher und angenehmer, mit mehreren zu arbeiten, wenn sonst, 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;
}

Hoffentlich hilft das..

3
t31os

Versuchen Sie etwas mehr wie:

function my_editor_content( $content ) {

 global $post

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