此wp_查询不会返回任何帖子,并且似乎只与POST_STATUS INSTORITY一起工作?

时间:2015-08-05 作者:WorkingMan8798

我很难返回帖子列表。这个文件包含在一个插件文件夹中(最终我希望有一个cron作业,只需在这里运行脚本即可删除给定元值中URL无效的帖子)。

我尝试使用get\\u posts返回帖子,但没有成功。所以我尝试了一个wp\\u查询,但仍然没有成功。

此外,如果post\\u状态设置为inherit,则我可以成功访问将打印阵列并显示“此处无项目”的部分。否则,绝对不会生成输出。

有谁能给我一个提示,告诉我我在这里缺少的基本原理吗?我在尝试get\\u帖子和wp\\u查询时都正确地构建了pull,因为我回收了我已经在站点其他区域成功使用的代码结构。还有其他文件需要我打电话吗?一段特殊的代码必须添加到像这样的独立文件中?我应该采取的另一种方法?

ini_set("memory_limit","64M");

    require(\'./wp-blog-header.php\');

    global $wp_query;

    $ready_delete = array();

            $query = new WP_Query(array(
                \'post_type\' => \'cars\',
                \'posts_per_page\' => -1));
            if( $query->have_posts() ) :
                while ($query->have_posts()) : $query->the_post();

                    $checklink_id = get_the_ID();
                    $checklink = get_post_meta($checklink_id, \'ca_link\', true);

                    //$ch = curl_init($checklink);
                    //curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

                    //if (curl_exec($ch) === false) {
                         $ready_delete[] = $checklink;
                        //wp_delete_post( $checklink_id, $force_delete );
                    //} else {
                    //}

                    //curl_close($ch);

                endwhile;
            else:
                echo \'No items here      \';
            endif;

            print_r($ready_delete);

            wp_reset_postdata();

2 个回复
SO网友:Rarst

本部分require(\'./wp-blog-header.php\'); 是各种各样的坏主意。若你们的文件确实在插件文件夹中,那个么标题甚至不在那个位置。

WordPress核心的自定义负载是脆弱的,并且该技术通常仅在性能方面是合理的。

最好通过创建实际的重写端点或利用admin-ajax.php/admin-post.php.

SO网友:Philippe

您是否尝试包含wp负载。php代替wp博客标题。php?wp负载。php将加载完整的WP环境,并设置$wpdb,这是您在使用WP\\u查询之前需要的。

只是一个想法。

否则,您也可以查看wp cron。php(如果您还没有这样做),并查看它的功能。

结束