我希望能够为每个页面选择哪些帖子应该显示在侧边栏中,来自多个帖子类型。所以我理解我需要一个带有所有帖子下拉列表的元框,但我不知道如何在函数中构建它。
我只found this solution这与我想要的非常相似,但这对我没什么帮助,因为我只能选择一种帖子类型,只能在帖子页面中显示。
答案 0 :(得分:1)
有一个免费的插件可以解决你所有的困境。它被称为ACF or Advanced Custom Fields。它能够向字段添加帖子列表并将该字段附加到页面。以下是您的工作方式:
首先安装插件并导航到自定义字段屏幕。设置您的字段完全如下:
然后在该部分下面的选项中,您需要选择以下选项:
这将告诉ACF仅将字段放在页面上。设置完成后,你会得到一个像这样的侧边栏:
然后,您可以选择页面的每个帖子,它将在前端返回该对象。你需要使用一些代码来让前端吐出你需要的帖子。以下是从ACF获取前端选项的代码。在sidebar.php
文件的内部,您需要添加以下代码:
global $post; // Get the global post object
$sidebar_posts = get_field('posts', $post->ID); // Get the field using the post ID
foreach($sidebar_posts as $sidebar_post){ // Loop through posts
echo $sidebar_post->post_title; // Echo the post title
}
这将简单地遍历您选择的帖子并回显标题。您可以使用setup_postdata()
添加一些其他Wordpress帖子功能来完成更多工作。这样您就可以执行the_title()
和the_content()
等内容。
希望这有帮助!