下拉元数据库中的现有帖子

时间:2014-04-28 14:08:31

标签: wordpress drop-down-menu custom-fields meta-boxes

我希望能够为每个页面选择哪些帖子应该显示在侧边栏中,来自多个帖子类型。所以我理解我需要一个带有所有帖子下拉列表的元框,但我不知道如何在函数中构建它。

我只found this solution这与我想要的非常相似,但这对我没什么帮助,因为我只能选择一种帖子类型,只能在帖子页面中显示。

1 个答案:

答案 0 :(得分:1)

有一个免费的插件可以解决你所有的困境。它被称为ACF or Advanced Custom Fields。它能够向字段添加帖子列表并将该字段附加到页面。以下是您的工作方式:

首先安装插件并导航到自定义字段屏幕。设置您的字段完全如下:

ACF screenshot of posts

然后在该部分下面的选项中,您需要选择以下选项:

ACF page options

这将告诉ACF仅将字段放在页面上。设置完成后,你会得到一个像这样的侧边栏:

enter image description here

然后,您可以选择页面的每个帖子,它将在前端返回该对象。你需要使用一些代码来让前端吐出你需要的帖子。以下是从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()等内容。

希望这有帮助!