2017-08-03 1 views
1

zu verändern, weiß ich, kann ich verwenden:Wie Wordpress globalen Post-Titel mit PHP

global $wp_query; 
$wp_query->is_page = true; 

Zum Beispiel der globalen is_page bedingten auf true zu setzen.

Kann ich den globalen Beitragstitel auf ähnliche Weise ändern, so dass der zurückgegebene Wert the_title()?

Um die Dinge klarstellen:

Ich brauche für eine Verwendung eines „virtuelle Seite“ Fall, in dem kein Beitrag ist tatsächlich geladen wird, und ich will keinen bestehenden Post-Titel verwenden. Gib einfach einen benutzerdefinierten Titel in die aktuellen Globals ein, damit ich ihn bei der Verwendung von the_title auf der aktuellen Seite bekomme.

Antwort

0

schließlich gefunden. Gerne ist es sehr einfach :) aber dieses Stück Code wird auch alle anderen post Vars für eine „fake post/Seite“ erstellen:

$post_id = -99; // negative ID, to avoid clash with a valid post 
$post = new stdClass(); 
$post->ID = $post_id; 
$post->post_title = 'Some title or other'; 
$wp_post = new WP_Post($post); 
wp_cache_add($post_id, $wp_post, 'posts'); 
global $wp, $wp_query; 
$wp_query->post = $wp_post; 
$wp_query->posts = array($wp_post); 
$wp_query->queried_object = $wp_post; 
$wp_query->queried_object_id = $post_id; 
$wp_query->is_404=false; 
$wp_query->is_page=true; 
$GLOBALS['wp_query'] = $wp_query; 
$wp->register_globals(); 

More details here!

1

den Titel ändern Sie einen Build in Haken von Wordpress verwenden:

function suppress_if_blurb($title, $id = null) { 

    if (in_category(' blurb', $id)) { 
     return ''; 
    } 

    return $title; 
} 
add_filter('the_title', 'suppress_if_blurb', 10, 2); 

https://codex.wordpress.org/Plugin_API/Filter_Reference/the_title

+0

Vielleicht ich nicht klar genug war. Ich werde meine Frage aktualisieren. Ich möchte den spezifischen Posttitel nicht ändern. nur die aktuelle Seite (die keinen Post lädt) the_title-Wert. – mondi

+0

"die keinen Beitrag lädt" ich verstehe das nicht, jede Seite, die WordPress dient, ist ein Beitrag (expect search.php) –

+0

Sie können google "Wordpress virtuelle Seite". Ich denke nur, dass diese Frage nicht der richtige Ort ist, um dieses Thema zu erklären. – mondi

Verwandte Themen