要做到这一点,您需要一个自定义查询—Wordpress没有现成的函数来从termmeta
桌子
自定义查询使用get_col()
它允许您获取term_ids
其中meta_key
以及meta_value
匹配问题中的值。请注意,查询使用prepare()
这是安全方面的良好实践。
有关的详细信息$wpdb
可在上找到its Codex page.
如果你得到了一些结果,你就可以使用Wordpress的get_term
和get_term_link
函数,输出要查找的链接列表。
global $wpdb;
// custom query to get all the term_ids from the termmeta table
$query_str = \'SELECT term_id FROM \' . $wpdb -> prefix . \'termmeta WHERE meta_key = %s AND meta_value = %s\';
$meta_key = \'food_type\';
$meta_value = \'Cat food\';
$term_ids = $wpdb -> get_col( $wpdb -> prepare( $query_str, $meta_key, $meta_value ) );
// if you got results back, loop through them to create a list of links
if( $term_ids ):
$taxonomy = \'your_taxonomy\';
echo \'<ul>\';
foreach( $term_ids as $id ):
// get the term object with $id for displaying the name
$term = get_term( $id, $taxonomy );
// get the term permalink
$url = get_term_link( $term );
echo \'<li>\';
echo \'<a href="\' . $url . \'">\' . $term -> name . \'</a>\';
echo \'</li>\';
endforeach;
echo \'</ul>\';
endif;