我有一个招聘网站,我想在上面显示工作地点链接列表。工作地点已经输入到每个帖子的自定义字段中,因此我只想显示一个链接列表,单击该列表时,将显示只输入自定义值的帖子,即-
EnglandIrelandUSAetc。。
单击上面的国家/地区链接,查看所有将国家/地区添加为自定义字段值的帖子??
我有一个招聘网站,我想在上面显示工作地点链接列表。工作地点已经输入到每个帖子的自定义字段中,因此我只想显示一个链接列表,单击该列表时,将显示只输入自定义值的帖子,即-
EnglandIrelandUSAetc。。
单击上面的国家/地区链接,查看所有将国家/地区添加为自定义字段值的帖子??
我建议对此使用自定义分类法,而不是自定义字段。您可以根据分类法对归档文件进行排序和列出,这比按自定义字段排序和列出归档文件要容易得多。
但是,如果要基于自定义字段列出,则需要修改发送到的参数query_posts()
在存档页上传递meta_key
和meta_value
您正在搜索。
要添加查询变量,请执行以下操作:
add_action(\'init\', \'add_custom_meta_url\');
function add_custom_meta_url() {
global $wp,$wp_rewrite;
$wp->add_query_var(\'location\');
$wp_rewrite->add_rule(\'location/([^/]+)\',\'index.php?location=$matches[1]\',\'top\');
$wp_rewrite->flush_rules(false); // This should really be done in a plugin activation
}
然后,您的存档永久链接将成为http://mycoollocationsite.com/location/england
http://mycoollocationsite.com/location/ireland
http://mycoollocationsite.com/location/usa
... 等接下来,您需要将传入位置的任何值添加到实际查询中:
add_action(\'parse_query\', \'apply_custom_meta_to_query\');
function apply_custom_meta_to_query(&$query) {
if (isset($query->query[\'location\'])) {
$query->query_vars[\'meta_key\'] = \'location\';
$query->query_vars[\'meta_value\'] = $query->query[\'location\'];
unset($query->query_vars[\'location\']); // You don\'t need this
}
}
我假设您将自定义数据存储在一个名为location
... 如果我错了,那就改一下。但这将允许您根据特定位置筛选归档文件。如果您还想启用基于日期的存档,那么在我的第一个代码块中需要一些额外的规则(现在,这将显示一个包含所有帖子的列表,其中包含location
meta\\u键)。
尽管如此,我还是建议改用自定义分类法。它更干净、更具扩展性,并且需要更少的自定义编码。这也正是创建自定义分类法的情况。。。所以请不要重新发明轮子。。。