有没有更“WordPress方式”来做到这一点。。。
我真的不知道你所说的更多的WordPress方式是什么意思,但总的来说,你得到术语描述的方式是一种更可靠的方式。这样,您就不需要访问$post
许多人使用的全球。只是为了兴趣,请看my post here 关于为什么要避免$post
全球的
但是,我会从$GLOBALS[\'wp_the_query\']->get_queried_object()
这比get_queried_object()
, 然后把它传过去get_term()
将术语过滤器应用于术语的步骤
} elseif ( is_tax() ) {
//Product categories
$obj_temp = get_term( $GLOBALS[\'wp_the_query\']->get_queried_object() );
$description = $obj_temp->description;
}
另一种可能的方法是从URL获取术语slug和分类法,然后获取完整的术语对象以获取描述
} elseif ( is_tax() ) {
//Product categories
$obj_temp = get_term_by( \'slug\', get_query_var(\'term\'), get_query_var(\'taxonomy\') );
$description = $obj_temp->description;
}
编辑-来自评论
$GLOBALS[\'wp_the_query\']->get_queried_object()
比
get_queried_object()
实际上,我们对此进行了讨论my answer 针对以下问题
- $GLOBALS['wp_the_query'] vs global $wp_query你真的应该读一下,因为我在那里详细解释了一切。在此上下文中,在任何模板(最好是页面或分类法模板)中,运行以下命令并查看结果
var_dump( $GLOBALS[\'wp_the_query\']->get_queried_object() );
var_dump( get_queried_object() );
query_posts( \'s=crap\' );
var_dump( $GLOBALS[\'wp_the_query\']->get_queried_object() );
var_dump( get_queried_object() );
此外,如果没有将术语过滤器应用于术语,可能会出现什么不良情况术语数据未经清理,特别是直接从超级全局使用时,因此它可能包含注入恶意代码或黑客URL到您不想要的某些核心色情网站。应用术语过滤器根据术语字段清理数据,使其保存以供使用。
清理、验证和转义数据应该是一种习惯,而不是一种有争议的额外行为。黑客喜欢未经清理和验证的数据,他们可以将任何恶意代码注入您的网站,并通过这些代码访问您的网站。我能永远告诉你的最好的建议是,始终根据数据类型对所有数据进行清理、验证和转义,无论数据来自何处(即使它来自你自己),也不管它将用于什么用途。这样,黑客就很难入侵你的网站