我想按术语名称获取不带分类的术语

时间:2019-09-28 作者:hungryhotdog

我可以在不知道它属于哪个分类法的情况下通过它的id来获取这个术语吗?

我有一个存储术语名称的元字段,但不存储分类法。然而,所有get_term() 函数具有标记为必需的分类参数。

也许我可以通过这个术语的名字来得到它的分类法?

我正在尝试:

$term_names = [\'red\',\'blue\'];
$term_datas = $wpdb->get_row( $wpdb->prepare( 
  "SELECT t.* FROM $wpdb->terms AS t WHERE t.name = $term_names"
) );
var_dump($term_datas);

1 个回复
SO网友:entreprenerds

这个get_term() 函数不接受字符串或数组;它只接受ID、stdClass对象或WP\\u Term对象。所以我认为你正朝着正确的方向前进$wpdb. 但是SQL查询不能接受PHP数组。所以试试这个:

$term_names = [\'red\',\'blue\'];
$term_names_str = implode(\', \', $term_names);
$term_datas = $wpdb->get_results( $wpdb->prepare( 
  "SELECT * FROM $wpdb->terms WHERE name IN ($term_names_str)"
) );
var_dump($term_datas);
注意,您正在使用get_row 方法,该方法只检索一个结果;get_results 将检索与查询匹配的所有结果行。

相关推荐

$wpdb insert is not work

我尝试了在自定义表中插入数据的不同方法,但不起作用,也没有错误。有时是节省,但大多数时间不是。我在网上查了一下,但没有一个解决方案适合我。我的最后一种方法是:$sql = $wpdb->prepare(\"INSERT INTO `$table_name` (`name`, `email`, `phone`, `address`, `message`, `rq`, `url`) values (%s, %s, %s, %s, %s, %d, %s)\", $na