字符lt;,>&;,“and”(小于、大于、与号、双引号和单引号)在术语名称中出现。&been&
. 这是通过将术语对象传递给sanitize_term()
应用多个过滤器的函数。默认情况下,WordPress应用这些过滤器:sanitize_text_field()
, wp_filter_kses()
和_wp_specialchars()
(参见wp-includes/default-filters.php
), 最后一个函数包含<;,>&;,“还有”。
因此,您需要:
$value = "Website Development & Designing"
get_term_by(\'name\',$value,\'skills\');
或者,对于未知值:
get_term_by( \'name\', esc_attr( $value ), \'skills\');
注:使用
esc_attr()
, 不
_wp_specialchars()
直接因为
_wp_specialchars()
is marked as private function 而且它不适合插件或主题开发人员使用。