在我的网站中,我在以下页面:
mysite.com/especialidad/ensenanza/formacion-profesional/?region=alava
包含该页面的 PHP 模板的相关部分是:
<?php
/* Get the Queried Object */
$term = get_queried_object();
$enlace_especialidad = get_term_link( $term );
/* Get the Queried Object */
$user_query = new WP_User_Query(
array(
'meta_key' => 'especialidad_preparador',
'meta_value' => $term->term_id,
'number' => 100,
'meta_query' => $meta_query,
)
);
?>
<?php echo $enlace_especialidad; ?>
<h1 class="titulo_taxonomia">Preparadores de Oposiciones a <a href="<?php $enlace_especialidad ?>"><?php echo $term->name ?></a>
<?php
if ($_GET['region']) {
$taxonomia_region = get_term_by('slug', $_GET['region'], 'region');
echo 'en <a href="'. get_term_link( $taxonomia_region ) .'">'. $taxonomia_region->name .'</a>';
}
?>
当我回显 var $enlace_especialidad 时(只是为了检查其值),结果是:
mysite.com/especialidad/ensenanza/formacion-profesional/
相反,引用 URL:Preparadores de Oposiciones a <a href="<?php $enlace_especialidad ?>"><?php echo $term->name ?></a>
的部分链接到:
mysite.com/especialidad/ensenanza/formacion-profesional/?地区=阿拉瓦
问题是 ?region=alava 不在 var $enlace_especialidad 中,我不知道它在锚点中使用时是如何出现的。另一方面是当前页面URL,我想一定有关系。
上次编辑
您忘记在链接之前回显,因此定位点无效。这就是为什么您之前看到打印输出不一致的原因。
?region=alava
在这里,因为它是以区域作为参数的$_GET
请求的结果。因此,它是对您的URL部分的补充。
所以你的URL很好,附加部分在后面的部分处理:
<?php
if ($_GET['region']) {
$taxonomia_region = get_term_by('slug', $_GET['region'], 'region');
echo 'en <a href="'. get_term_link( $taxonomia_region ) .'">'. $taxonomia_region->name .'</a>';
}
?>
具有get_term_link( $taxonomia_region )
的部件包含$_GET['region']
结果部件(如果存在)。
请参阅 $_GET 的文档:http://php.net/manual/en/reserved.variables.get.php
编辑
经过我们在评论中的讨论,当您使用不同类型的参数(即get_term_link( $term );
或get_term_link( $taxonomia_region );
)时,此方法有所不同
由于术语可以是对象、整数或字符串,因此请确保 您传入的任何数字都会显式转换为整数 (例如:(int) $term_id)。否则,该函数将假定 $term是辅助信息域而不是术语 ID。
这就是为什么你会得到get_term_link( $taxonomia_region );
mysite.com/especialidad/ensenanza/formacion-profesional/
,因为你将 slug 作为参数传递。
而且你会得到mysite.com/especialidad/ensenanza/formacion-profesional/?region=alava
get_term_link( $term );
,因为你传递一个对象作为参数。
来源 : https://developer.wordpress.org/reference/functions/get_term_link/