Как получить название от объекта WP Post
Я пытался увидеть список имен дочерних страниц с некоторым описанием для отображения ..я использую ниже код
$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;
Я получаю массив перед использованием foreach
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
)
после foreach, если я печатаю $pagedet я получаю
WP_Post Object
(
[ID] => 201
[post_title] => Website Hosting
)
Я попытался вызвать $pagedet ['post_title'], но id ничего не отображает ...заранее спасибо
4 ответов
чтобы быть уверенным, вы должны использовать данные каждой страницы в качестве имени столбца.
например,
$page_data->post_content //is true,
$page_data->the_title // is false.
Это из моих заметок, что я работал с вашей точной ситуацией. Надеюсь, это поможет.
<?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>';
}
?>
заменить над foreach:
массив объектов ([0],[1],[2]...) и установить (каждый) как сингулярный экземпляр $pagedet.
foreach($portfolio_children as $pagedet) {
Теперь создайте переменную $post_title равную значению "post_title" каждого объекта в массиве.
$post_title = $pagedet->post_title;
это будет технически работать, но вы хотите перебирать каждый экземпляр программно, не идентифицируя каждый объект в массиве.
echo $pagedet[0]->post_title;
echo $pagedet[1]->post_title;
echo $pagedet[2]->post_title;
теперь вы можете писать друг значение post_title:
echo $post_title;
};
в резюме
foreach($portfolio_children as $pagedet) {
$post_title = $pagedet->post_title;
echo $post_title;
};