У меня проблемы с отображением термина таксономии в качестве заголовка для моих фрагментов сообщений о продуктах. Это на сайте Wordpress, с использованием темы Avada, с Woocommerce и плагином Advanced Custom Fields. Таксономия создается подключаемым модулем Custom Taxonomies, и на остальной части сайта все отлично работает. "эхо" сообщения. Я получал идентификационный номер терминов таксономии перед тем, как читать дальше в topi c, и поменял местами «идентификатор объекта» на «имя-термина» во внешнем интерфейсе ACF, но теперь я не могу получить идентификатор или title!
Пожалуйста, помогите, PHP не моя сильная сторона, так что я уверен, что это новинка ie недосмотр!
add_action( 'woocommerce_shop_loop_item_title', 'artist_link' );
function artist_link() {
$value = get_field("product_artist");
if($value)
{
echo "can't return value here, but I'd like the artist product term! ";
}
else
{
echo 'No Artist Entry';
}
}
Этот фрагмент кода взят из моих функций . php, поскольку тема Avada требует, чтобы вы использовали l oop вместо файла «single-XXX. php».
Я также должен упомянуть, что это единственный выбор из множественного выбора, а «product_artist» взят из ACF, идентификатор термина пользовательской таксономии - «художники».
Спасибо!
* РЕДАКТИРОВАТЬ: для тех, у кого может возникнуть эта проблема в будущем, это то, что сработало для меня
add_action('woocommerce_shop_loop_item_title', 'artist_link');
function artist_link()
{
// Get the WooCommerce global variable for the current product
global $product;
if ($product instanceof \WC_Product) {
$value = get_field("product_artist", $product->get_id());
if ($value) {
echo $value->name;
} else {
echo 'Value falsey, do something with it here';
}
return;
}
echo 'No global product here';
}
Похоже, я пытался вызвать строку, а не объект (это то, что $ value есть).