Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从WP_Post对象获取标题_Php_Wordpress_Foreach - Fatal编程技术网

Php 如何从WP_Post对象获取标题

Php 如何从WP_Post对象获取标题,php,wordpress,foreach,Php,Wordpress,Foreach,我试图查看子页面名称列表,其中包含一些要显示的描述。我使用下面的代码 $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 P

我试图查看子页面名称列表,其中包含一些要显示的描述。我使用下面的代码

$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之后如果我打印$pagedet我得到

<?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>';
    } 
    ?>

我试着打电话给$pagedet['post_title'],但id没有显示任何内容…提前谢谢

这是从我的笔记中得知的,我正在处理您的确切情况。希望能有帮助

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

为了确保这一点,您应该使用每页数据作为列名

比如说,

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

试试这个。给出正确的想法

foreach($portfolio_children as $pagedet) {

替换上面的foreach:

将对象数组([0]、[1]、[2]…)设置为$pagedet的单个实例

$post_title = $pagedet->post_title;
现在创建变量$post_title,使其等于数组中每个对象的“post_title”值

echo $pagedet[0]->post_title;
echo $pagedet[1]->post_title;
echo $pagedet[2]->post_title;
这在技术上是可行的,但您希望以编程方式循环遍历每个实例,而不标识数组中的每个对象

echo $post_title;
};
现在您可以写出每个帖子的标题值:

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


您使用的是关联数组表示法,而不是对象表示法。您应该调用:
$pagedet->post_title
在循环中尝试此
echo$pagedet->post_title
echo $post_title;
};
foreach($portfolio_children as $pagedet) {
    $post_title = $pagedet->post_title;
    echo $post_title;
};