TL;DR: 我正在尝试获取meta\\u值display_type
对于分类法,它返回空白(尽管我可以在数据库中看到它)。
这个问题想访问分类法上的术语meta:product_cat
, 这是WooCommerce制定的分类法。
我在这里问这个,而不是StackOverflow,因为它与WoodPress的关系比与WooCommerce的关系更密切。
在我的数据库中,我可以看到数据库中有几行$term->ID = 15
.
meta_id | term_id | meta_key | meta-value
---------------------------------------------------
1 | 15 | display_type | subcategories
2 | 15 | thumbnail_id | 0
204 | 15 | product_.... | 45
676 | 15 | an_acf_field | test
676 | 15 | _an_acf_field | field_123abc123abc
但出于某种原因,此返回为空:
$term = get_queried_object(); // in the file taxonomy-product-cat.php
$display_type = get_term_meta( $term->ID, \'display_type\' ); // $term->ID = 15
echo \'<pre>\';
print_r($display_type);
echo \'</pre>\';
// Returns empty
所以我想我可以调试它
term_meta
对于该ID(15)。但是我找不到任何WordPress函数可以获取所有的meta\\u字段?
解决方案尝试
Attempt 1 - Using WPDB
我可以这样做:
global $wpdb;
$test = $wpdb->get_results( "SELECT * FROM wp_termmeta WHERE term_id = \'15\'");
但这似乎是一种非文字印刷的方式。
<小时/>
Attempt 2 - get_term_meta
without key
一个大胆的猜测是这样做:
$term = get_queried_object();
$display_type = get_term_meta( $term->ID ); // !! No key defined
echo \'<pre>\';
print_r($display_type);
echo \'</pre>\';
// Still returns empty
<小时/>
Attempt 3 - Looking into WooCommerce documentation
我可以看到WooCommerce访问
display_type
它本身
here像这样:
$display_type = get_term_meta( $item->term_id, \'display_type\', true );
。。。所以我很困惑,它不适合我。