it-swarm.com.de

Holen Sie sich wp_title () von der Seiten-ID in eine Variable

Ich bin mir ziemlich sicher, dass es nicht möglich ist, aber kann ich das Ergebnis von wp_title() in eine Variable übertragen, wenn ich die ID des Posts kenne?

So bin ich zum Beispiel auf einer "Blog" -Seite und möchte den Titel der "about" -Seite in einer Variablen haben (nicht im <title> -Tag wie in den folgenden Fragen: Festlegen des Titels mit dem wp_title-Filter ).

1
Paul

Wie Sie sagten, funktioniert wp_title nur für den aktuellen Beitrag. Daher kann es etwas schwierig sein, ihn in einer Variablen für einen Beitrag zu speichern, der nicht der aktuelle ist.

wp_title funktioniert jedoch nicht nur für einzelne Posts/Seiten/Cpt, sondern auch für jeden Archivtyp. So ist es einfach, eine benutzerdefinierte Funktion zu erstellen, die den Teil der Kernfunktion kopiert, der den einzelnen Beitrag/die einzelne Seite betrifft.

   function get_the_wp_title( $postid = '', $sep = '&raquo;', $seplocation = '' ) {
     if ( ! $postid ) return '';
     $post = get_post($postid);
     if ( ! is_object($post) || ! isset($post->post_title) ) return '';
     $t_sep = '%WP_TITILE_SEP%';
     $title = apply_filters('single_post_title', $post->post_title, $post);
     $prefix = '';
     if ( ! empty($title) ) $prefix = " $sep ";
     if ( 'right' == $seplocation ) { // sep on right, so reverse the order
        $title_array = explode( $t_sep, $title );
        $title_array = array_reverse( $title_array );
        $title = implode( " $sep ", $title_array ) . $prefix;
      } else {
        $title_array = explode( $t_sep, $title );
        $title = $prefix . implode( " $sep ", $title_array );
      }
      return apply_filters('wp_title', $title, $sep, $seplocation);
    }

Code wird größtenteils von der core wp_title function kopiert.

Beachten Sie, dass alle für wp_title definierten Filter auch für diese Funktion funktionieren.

2
gmazzap

die Funktion wp_title () hat einen zweiten Parameter 'display'. Setzen Sie es auf false, um den Titel in einer Variablen abzurufen:

<?php $variable = wp_title('&raquo;',FALSE); ?>

Wenn Sie den Titel nach Seiten-ID erhalten möchten:

<?php
$pageID = 86;
$page = get_post($pageID);
echo $page->post_title;
?>
0
Tolea Bivol