如果你有很多类别,那么每次搜索每个类别并对照字段值进行检查将是一件痛苦的事。
我写了一些东西,我很想知道它是否正确
首先,我编写了一个从值中获取选项名称的函数,因为wordpress core只提供一个从名称中获取选项值的函数
function get_option_name_by_value( $option, $default = false ) {
global $wpdb;
$option = trim( $option );
if ( empty( $option ) )
return false;
$name = wp_cache_get( $option, \'options_names\' );
if ( false === $name ) {
$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_name FROM $wpdb->options WHERE option_value = %s LIMIT 1", $option ) );
// Has to be get_row instead of get_var because of funkiness with 0, false, null values
if ( is_object( $row ) ) {
$name = $row->option_name;
wp_cache_add( $option, $name, \'options\' );
} else return false;
}
return $name;
}
由于选项名称上有术语id(taxonomy\\u termId\\u filedName),因此只需通过
explode(\'_\',$optionName)