你似乎在问两个问题:
1) 如何在仪表板上放置东西?
2) 如何获取当前作者撰写的所有帖子的链接?
在仪表板上放置内容的一种方法是使用仪表板小部件。这个Dashboard Widgets API 描述了详细信息,但这里有一些基于它的代码。
add_action( \'wp_dashboard_setup\', \'ckc_author_posts_dashboard_widget\' );
/**
* This function runs when the \'wp_dashboard_setup\' action is
* called. It adds the widget and calls the function that that fills
* the widget.
*/
function ckc_author_posts_dashboard_widget() {
wp_add_dashboard_widget( \'author_posts_dashboard_widget\', __( \'Your Posts\', \'theme_text_domain\' ), \'ckc_author_posts\' );
}
/**
* This function displays the text in the \'author_posts_dashboard_widget\'.
*/
function ckc_author_posts() {
// Display whatever it is you want to show
echo "This is where the posts for this author will be displayed.";
}
将该代码添加到函数中。php主题文件。”如果使用主题的文本域,则应将“theme\\u text\\u domain”替换为主题的文本域。否则保持原样。
您应该会得到一个新的仪表板小部件,其文本为“此处将显示此作者的帖子。”在里面。
要获取作者帖子的链接列表,请在WordPress数据库上运行查询。这听起来很花哨,很技术,但信息是用(相当)简单的英语写成的WP_Query Object Reference. 这是我用来测试这个答案的代码。
/**
* This function displays the text in the \'author_posts_dashboard_widget\'.
*/
function ckc_author_posts() {
$current_user = wp_get_current_user();
// This is the query. Change it to change which
// posts appear in the while loop below.
$author_posts = new WP_Query( array(
\'author\' => $current_user->ID,
) );
if ( $author_posts->have_posts() ) {
echo \'<ul>\';
while ( $author_posts->have_posts() ) {
$author_posts->the_post();
printf(
"<li><a href=\'%s\'>%s</a> (<a href=\'%s\'>Edit</a>)</li>\\n",
get_permalink(),
get_the_title(),
get_edit_post_link()
);
}
echo \'</ul>\';
} else {
echo \'No Post found.\';
}
}
这将生成当前作者的所有帖子列表,并添加一个链接来编辑帖子。我没有彻底测试它,但查询应该获取该作者的所有帖子、已发布、未发布、垃圾桶中的帖子等。如果您想要一些不同的东西,您应该调整
WP_Query()
呼叫
如果不希望编辑链接,请替换printf()
代码如下:
printf(
"<li><a href=\'%s\'>%s</a></li>\\n",
get_permalink(),
get_the_title()
);