So erhalten Sie den Titel vom WP_Post-Objekt

Lesezeit: 2 Minuten

Benutzeravatar von sasi kanth
sasi kanth

Ich habe versucht, die Liste der untergeordneten Seitennamen mit einer Beschreibung anzuzeigen, die angezeigt werden soll. Ich verwende den folgenden Code

$my_wp_query = new WP_Query();
$all_wp_pages = $my_wp_query->query(array('post_type' => 'page'));
// Get the page as an Object
$portfolio =  get_page_by_title('service');
// Filter through all pages and find Portfolio's children
$portfolio_children = get_page_children( $portfolio->ID, $all_wp_pages );
// echo what we get back from WP to the browser
echo "<pre>";print_r(
);

foreach($portfolio_children as $pagedet):

        echo $pagedet['post_title'];


 endforeach;

Ich erhalte ein Array, bevor ich foreach verwende

when i print  $portfolio_children iam getting out put like this 
 Array
(
 [0] => WP_Post Object
    (
        [ID] => 201  
         [post_title] => Website Hosting
     )
  [1]=> WP_Post Object

      (
              [ID] => 202  
         [post_title] => Website
      )

nach foreach, wenn ich $pagedet drucke, bekomme ich

WP_Post Object
    (
        [ID] => 201  
       [post_title] => Website Hosting
     )

Ich habe versucht, $pagedet anzurufen[‘post_title’] aber id zeigt nichts an … danke im voraus

  • Sie verwenden eine assoziative Array-Notation anstelle einer Objektnotation. Sie sollten anrufen: $pagedet->post_title

    – Matanya

    6. August 2013 um 10:16 Uhr

  • Versuche dies echo $pagedet->post_title in Schleife

    – M Khalid Junaid

    6. August 2013 um 10:22 Uhr

Benutzeravatar von Kıvılcım
Kıvılcım

Nur um sicherzugehen, sollten Sie alle Seitendaten als Spaltennamen verwenden.

Zum Beispiel,

$page_data->post_content //is true,
$page_data->the_title // is false.

Probier diese. Nur Idee geben.

<?php 
    $post = get_post($_GET['id']); 
    $post->post_title;
 ?>

Dies ist aus meinen Notizen, die ich mit Ihrer genauen Situation gearbeitet habe. Ich hoffe es hilft.

<?php 

    $my_wp_query = new WP_Query();
     $all_wp_pages = $my_wp_query->query(array('post_type' => 'page', 'posts_per_page' => -1));

    $childpg = get_page_children(8, $all_wp_pages);

    foreach($childpg as $children){
        $page = $children->ID;
        $page_data = get_page($page);
        $content = $page_data->post_content;
        $content = $page_data->the_title;
        $content = apply_filters('the_content',$content);
        $content = str_replace(']]>', ']]>', $content);
        echo '<div class="row-fluid"><span class="span4">'; 
        echo get_the_post_thumbnail( $page ); 
        echo '</span><span class="span8">'.$content.'</span></div>';
    } 
    ?>

Ersetzen Sie oben foreach:

Nehmen Sie das Array von Objekten ([0],[1],[2]…) und (jeweils) als einzelne Instanz von $pagedet festlegen.

foreach($portfolio_children as $pagedet) {

Erstellen Sie nun die Variable $post_title so, dass sie dem Wert „post_title“ jedes Objekts im Array entspricht.

$post_title = $pagedet->post_title;

Dies würde technisch funktionieren, aber Sie möchten jede Instanz programmgesteuert durchlaufen, ohne jedes Objekt im Array zu identifizieren.

echo $pagedet[0]->post_title;
echo $pagedet[1]->post_title;
echo $pagedet[2]->post_title;

Jetzt können Sie jeden post_title-Wert ausschreiben:

echo $post_title;
};

Zusammenfassend

foreach($portfolio_children as $pagedet) {
    $post_title = $pagedet->post_title;
    echo $post_title;
};

1398350cookie-checkSo erhalten Sie den Titel vom WP_Post-Objekt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy