如何调用WP\\u查询插件初始化并将posts数据保存到$data?
我正在Fatal error: Class \'ms\\WP_Query\' not found
无论我在哪个钩子上调用该方法。即使我这样称呼它add_action(\'shutdown\', array($this, \'get_data\'));
它不起作用(shutdown
hook应该是最后一个运行的)或者如果我用短代码调用add_shortcode( \'get_data\', array($get_data, \'get_data\') );
<?php
/*
Plugin Name: Test
Description: Test
Version: 0.1
*/
namespace ms;
if (!defined(\'ABSPATH\')) exit;
class get_data {
private $data = array();
public function __construct(){
// add_action(\'init\', array($this, \'get_data\'));
}
public function get_data() {
$args = array(
\'post_type\' => \'post\',
\'posts_per_page\' => 10
);
$query = new WP_Query($args);
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
$this->data[] = array(
\'title\' => get_the_title()
);
endwhile;
wp_reset_postdata();
endif;
var_dump($this->data);
}
$get_data = new get_data();
add_shortcode( \'get_data\', array($get_data, \'get_data\') );
最合适的回答,由SO网友:Welcher 整理而成
因为您在此类中使用的是命名空间,所以需要添加\\
在WP\\u查询调用之前,告诉PHP它位于全局名称空间中,而不是此类的名称空间。
尝试以下操作:$query = new \\WP_Query($args);