在 Yoast 变量片段中获取 parent 个自定义分类法
Get parent of custom taxonomy in Yoast variable snippet
我有一个使用自定义分类法的目录 wordpress 网站。层次结构设置如下:国家>州>城市。当我将自定义分类法放入 Yoast 以获取 SEO 标题和元描述时,它只会吸引城市。我还希望通过创建一个新的 Yoast 变量片段来获取状态,该片段将获取用户当前 URL 的 parent(即状态)。
这是我目前在 functions.php 文件中的内容,但它正在引入国家/地区。所以它目前正在引入顶级 parent。我怎样才能得到立即parent,这将是状态?
function get_state() {
$myterms = get_terms( array( 'taxonomy' => 'w2dc-location', 'parent' => 0 ) );
foreach($myterms as $term) {
return $term->name;
}
}
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%state%%', 'get_state', 'advanced', 'some help text' );
}
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');
这是一个将 return 城市和州的解决方案,因为您只选择了一个分类法(城市)并且该州是城市的直接 parent。我认为你想使用 get_the_terms()
而不是 get_terms()
function get_state() {
global $post;
// Get the terms for the current post in your tax
$myterms = get_the_terms( $post->ID, 'w2dc-location' );
// Check if parent exists
if ($myterms[0]->parent !== 0){
// Get the term object
$parent = get_term_by('id', $myterms[0]->parent, 'w2dc-location');
return $parent->name;
}
}
function register_custom_yoast_variables() {
wpseo_register_var_replacement( 'state', 'get_state', 'advanced', 'some help text' );
}
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');
Yoast 标题框中的用法...
%%category%% %%state%%
我有一个使用自定义分类法的目录 wordpress 网站。层次结构设置如下:国家>州>城市。当我将自定义分类法放入 Yoast 以获取 SEO 标题和元描述时,它只会吸引城市。我还希望通过创建一个新的 Yoast 变量片段来获取状态,该片段将获取用户当前 URL 的 parent(即状态)。
这是我目前在 functions.php 文件中的内容,但它正在引入国家/地区。所以它目前正在引入顶级 parent。我怎样才能得到立即parent,这将是状态?
function get_state() {
$myterms = get_terms( array( 'taxonomy' => 'w2dc-location', 'parent' => 0 ) );
foreach($myterms as $term) {
return $term->name;
}
}
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%state%%', 'get_state', 'advanced', 'some help text' );
}
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');
这是一个将 return 城市和州的解决方案,因为您只选择了一个分类法(城市)并且该州是城市的直接 parent。我认为你想使用 get_the_terms()
get_terms()
function get_state() {
global $post;
// Get the terms for the current post in your tax
$myterms = get_the_terms( $post->ID, 'w2dc-location' );
// Check if parent exists
if ($myterms[0]->parent !== 0){
// Get the term object
$parent = get_term_by('id', $myterms[0]->parent, 'w2dc-location');
return $parent->name;
}
}
function register_custom_yoast_variables() {
wpseo_register_var_replacement( 'state', 'get_state', 'advanced', 'some help text' );
}
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');
Yoast 标题框中的用法...
%%category%% %%state%%