我在这里提出第一个问题,所以请随意将我引导到其他地方(是的,我确实尝试搜索重复项,但我的stackoverflow技能可能有限) .
我正在构建一个Wordpress插件,可以创建一个前端仪表板来编辑自定义帖子类型 . 我正在使用get_posts查询来显示当前用户帖子的列表及其各自的编辑表单 .
问题是我似乎无法从WP_Post对象访问帖子ID . 当我变换转储时,一切似乎都是犹太人......
这是我的代码(简化):$ currentuser = get_current_user_id(); $ args = array('author'=> $ currentuser,'posts_per_page'=> -1,'post_type'=>'board_post',);
$myposts = get_posts( $args );
foreach ( $myposts as $jb_post ) : setup_postdata( $post );
?>
<a href="#edit_<?=$jb_post->id ?>" data-toggle="modal" data-target="#edit_<?=$jb_post->id ?>" class="list-group-item"> Edit </a> <?php endforeach; ?>
在帖子ID应该是什么的地方没有输出 .
<?=get_the_title($jb_post); ?>
这输出正确的 Headers . 当我尝试以下所有内容时,它会回显父页面的ID:
<?=get_the_ID($jb_post); ?>
<?=the_ID($jb_post); ?>
<?=get_the_ID(); ?>
<?=the_ID(); ?>
我认为我提起这些帖子的方式存在某种结构性问题 . 抛出wp_reset_query不会解决问题 . 有没有人知道有关此类事情的最佳做法的任何资源?
编辑:这是var_dump($ jb_post)
array(15) {
[0]=>
object(WP_Post)#285 (24) {
["ID"]=>
int(253)
["post_author"]=>
string(1) "1"
["post_date"]=>
string(19) "2014-04-17 18:36:27"
["post_date_gmt"]=>
string(19) "2014-04-17 18:36:27"
["post_content"]=>
string(8) "gsdljdkf"
["post_title"]=>
string(10) "Shortcoded"
["post_excerpt"]=>
string(0) ""
["post_status"]=>
string(7) "publish"
["comment_status"]=>
string(6) "closed"
["ping_status"]=>
string(4) "open"
["post_password"]=>
string(0) ""
["post_name"]=>
string(12) "shortcoded-2"
["to_ping"]=>
string(0) ""
["pinged"]=>
string(0) ""
["post_modified"]=>
string(19) "2014-04-17 18:36:27"
["post_modified_gmt"]=>
string(19) "2014-04-17 18:36:27"
["post_content_filtered"]=>
string(0) ""
["post_parent"]=>
int(0)
["guid"]=>
string(51) "http://XXX.0.0.1:4001/wordpress/board/shortcoded-2/"
["menu_order"]=>
int(0)
["post_type"]=>
string(10) "board_post"
["post_mime_type"]=>
string(0) ""
["comment_count"]=>
string(1) "0"
["filter"]=>
string(3) "raw"
}
[1]=>
object(WP_Post)#284 (24) {
(so on and so forth for all posts)
}
1 回答
这是因为您没有指定$ args数组参数 . 一旦你指定它们,你就会得到理想的结果 .
另外,你的代码:get_the_title($ jb_post);需要像这样:get_the_title($ jb_post-> ID);
有关get_posts()的完整参考,请访问:https://codex.wordpress.org/Template_Tags/get_posts