Wenn Post ID mit diesen IDs übereinstimmt, dann tue dies

Ich bin immer noch ein Anfänger mit PHP, aber ich versuche, ein anderes Layout für meine WordPress-Webseite für eine einzelne Post-ID anzuzeigen.

Ich dachte, es wäre einfach gewesen, aber ich habe ein paar leise Variationen des unten stehenden Codes ausprobiert. Einschließlich is_singular und ohne den $post etc. und mir ist die Inspiration ausgegangen. Was kann ich tun? Nach was muss ich suchen? Kann mir jemand helfen?

  

Solutions Collecting From Web of "Wenn Post ID mit diesen IDs übereinstimmt, dann tue dies"

Das sieht fast richtig aus. Schauen wir uns is_single() :

functioniert für jeden Post-Typ, außer Anhänge und Seiten

Wenn also die angegebene ID nicht die eines page oder attachment ist, können Sie die function folgendermaßen verwenden:

 if( is_single( 2578 ) ) { /* ... */ } else { /* ... */ } 

Wenn die ID ein is_page() können Sie is_page()

 if( is_page( 2578 ) ) { /* ... */ } 

Sollte die ID die einer is_attachment() sein, können Sie is_attachment()

 if( is_attachment( 2578 ) ) { /* ... */ } 

Wenn Sie sich über den Post-Typ nicht sicher sind, können Sie das global $post Objekt überprüfen, vorausgesetzt, es ist korrekt:

 global $post; if( is_object( $post ) && 2578 == $post->ID ) { /* ... */ } 

Die function get_the_ID() funktioniert unabhängig vom Post-Typ (wenn es sich um einen get_the_ID() , Post- oder benutzerdefinierten Post handelt).

Sie können diese function verwenden, um Ihre bedingte Prüfung durchzuführen.

 if ( get_the_ID() === 2578) { get_template_part('partials/content', 'challenge'); } else{ // Add other template calls, or additional conditions, is_single, is_archive, etc. }?> 

Beachten Sie, dass diese function bei Archiven nicht funktioniert, da sie keine IDs haben.