好吧,我花了一分钟的时间才意识到你想要做什么,为了确保我理解,我想在这里重申一下:
您有链接的类别(使用WordPress中的默认链接管理器,对吗?)。您希望能够将所选类别与任何给定的帖子相关联,并在给定帖子的单页视图中显示该类别的链接。
在我看来,您接下来要做的是创建一个元值,使用一个元框(您正确地建议了这个元框),来存储与该帖子相关的链接类别值。
我建议使用this meta_box "plugin" 在主题的功能中。php文件。我笼统地说“插件”,因为这不是WordPress意义上的真正插件,而是一段与主题相关联的代码。
另请参见以下链接:http://www.deluxeblogtips.com/meta-box/ 和http://www.deluxeblogtips.com/meta-box/define-fields/
注意:在最后一个链接(定义字段)中,您会注意到表单字段类型之一是选择框。您必须将上面的代码与选择框的设置混合在一起,以使其以您希望的方式显示在元框中。类似这样的东西(巨大的免责声明-我没有测试任何一个。只是建议一些可能有用的东西。):
$myterms = get_terms("link_category");
$linkCatsArray = array();
foreach($myterms as $term){
$linkCatsArray[$term->slug] = $term->name;
}
$meta_boxes[] = array(
\'id\' => \'my_link_categories\', // meta box id, unique per meta box
\'title\' => \'Link Categories\', // meta box title
\'pages\' => array(\'post\'), // post types, accept custom post types as well, default is array(\'post\'); optional
\'context\' => \'normal\', // where the meta box appear: normal (default), advanced, side; optional
\'priority\' => \'high\', // order of meta box: high (default), low; optional
\'fields\' => array(
array(
\'name\' => \'Available Categories\',
\'id\' => $prefix . \'link_cats\',
\'type\' => \'select\', // select box
\'options\' => $linkCatsArray // your links category array
)
)
);
然后,一旦能够将所选类别作为元数据值存储在数据库中,就可以使用
get_post_meta($ID, \'_my_meta_key\');
值从循环中检索该值。然后,您将要使用
wp_list_bookmarks( $args );
函数(单击该函数转到codex页面)以获取相应的链接类别。
我很想知道这对你有什么作用。