如何更改POST->ID以在查询页面时正常工作?

时间:2017-06-15 作者:Zach Smith

我正在构建以下脚本,以从某个页面的每个子页面查询数据。我有它工作正常,但我无法获得特色图像,因为我正在使用$post->ID. 我会改变什么$post->ID 为了正确使用我的其他功能?任何帮助都将不胜感激。

$args = array(
        \'post_type\'      => \'page\',
        \'posts_per_page\' => -1,
        \'post_parent\'    => 91,
        \'order\'          => \'ASC\',
    );

    $parent = new WP_Query( $args );

    if ( $parent->have_posts() ) :

        echo \'<div class="events_lists_on_page">\';

        while ( $parent->have_posts() ) : $parent->the_post();

             //grab the menu item data
             $image_uploaded_meta_id = get_post_meta($post->ID, \'_listing_image_id\', true);
             $image_thumb_url = wp_get_attachment_image_src($image_uploaded_meta_id, \'full\');

             //grab and save title of post
             $title = get_the_title();

             //grab and save the link to the post
             $link = get_permalink();

             //grab content
             $the_content = get_the_content();

             echo \'<div class="element">\';

             echo \'<img src="\'. $image_thumb_url[0] .\'">\';

             echo \'<div class="text"><p>\' . $title .\'</p></div>\';

             echo \'<p>\'. $the_content .\'</p>\';

             echo \'</div>\';

        endwhile;

        echo \'</div>\';
    endif;

2 个回复
最合适的回答,由SO网友:Asaf Lopez 整理而成

尝试使用get_the_ID()

$image_uploaded_meta_id = get_post_meta(get_the_ID(), \'_listing_image_id\', true);
get_the_ID() 是一个核心Wordpress函数,它直接在Wordpress循环中运行,检索当前加载项的id。$post->id 由于变量$post 在循环内没有作用域。

以下是指向文档的链接:https://developer.wordpress.org/reference/functions/get_the_id/

SO网友:Por

定义global $post 什么时候while loop start* 就像下面那样

        while ( $parent->have_posts() ) : $parent->the_post();global $post;

结束

相关推荐

向Widget文本框添加描述性文本,以便用户可以看到它们包含的内容

如果您有20个文本框小部件,并且您正在使用小部件逻辑或其他东西在不同的页面上选择性地显示它们,那么如果您不使用标题框,就会混淆每个框中的内容。然后他们都会说“文本”如果文本小部件有一个描述性字段,您可以在其中输入系统不会显示的标题,但用户可以识别特定文本小部件中的代码或文本,那就太好了。我希望这是有意义的。有没有我看不见的方法?我知道我可以输入一个标题,然后用CSS删除所有标题,但我想显示一些标题。我觉得有办法