wordpress - 自定义 API 端点从类别中获取数据
问题描述
我很卡住..我正在尝试使用 Wordpress REST API 从特定类别 ID 获取所有帖子数据。但它不输出内容,只有 ID 和标题.. 看不到我做错了什么..
继承人的代码:
/* Register Route http://dev.mpblogg.se/wp-json/api/v1/feedposts/id */
add_action( 'rest_api_init', function () {
register_rest_route( 'api/v1', '/feedposts/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'getAllPostsfromCategory',
));
});
/* Get all posts from the specific Caetgory */
function getAllPostsfromCategory( $data ) {
$secret = '2lpMh5EHaEiavhMONpWD';
$qs = explode('&', $_SERVER['QUERY_STRING'])[0];
$qs = explode('=', $qs)[1];
if($qs != $secret){
return false;
}
$posts = get_posts( array(
'category' => $data['id'],
));
$returnArray = array();
foreach($posts as $post) {
array_push($returnArray, array(
'id' => $post->ID,
'title' => $post->post_title,
'content' => $post->post_content
));
}
// die();
if(empty($posts)){
return null;
}
return $returnArray;
}
JSON 输出如下所示:
改为 array_push($returnArray,$post); 后 它看起来像这样:
解决方案
好的...这是我从您共享的 array_push 图像中获得的线索。JSON 输出的最后一个字符串为:
“文件管理器”:“原始”
这意味着结果值将存储为帖子的原始未过滤内容。
因此,您可以尝试将 apply_filters() 添加到提取的内容中,看看它是否有助于您显示所需的内容。
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
这用于将内容过滤器应用于原始未过滤的帖子内容,这通常来自使用 $post->post_content 。
推荐阅读
- python - Python 错误消息:TypeError:'str' 对象不可调用
- r - Stargazer 没有显示稳健 se 的观察次数
- r - 无法使用 R
- apache-kafka - 如何更改 Kafka Connect Source Connector 生成的主题名称
- python - 有没有办法获得 for 循环的第一个结果?
- javascript - Javascript 计时器比 php mysql 晚 5 小时
- c++ - 在 C++ 中的模板类中创建向量
- python - 使用 Cython 对 Python 进行性能优化
- rust - 向量
,整数向量与字符串向量,为什么即使元素在堆上,我也可以索引/复制 int 元素? - angular - angular - 当数组过滤器完成时分配一个变量