我需要在Woocommerce类别页面中添加有关该类别的一些信息。我在主题functions.php中添加了以下代码,但它没有用。即使是钩子工作时我用来调试的第一个回显也没有显示出来。我做错了什么?
//Adiciona informações da categoria na página de categoria
function brg_informacoes_de_categoria(){
echo 'it works!';
if(is_product_category()){
$product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' );
$single_cat = array_shift( $product_cats );
$field_cod = get_field('codigo', $single_cat->ID);
$field_teatro = get_field('teatro', $single_cat->ID);
$field_info = get_field('informações', $single_cat->ID);
$field_cidade = get_field('cidade', $single_cat->ID);
$field_estado = get_field('estado', $single_cat->ID);
$field_inicio = get_field('inicio', $single_cat->ID);
$field_termino = get_field('termino', $single_cat->ID);
echo 'Código do Evento' . $field_cod . '<br >';
echo 'Teatro' . $field_teatro . '<br >';
echo 'Informações' . $field_info . '<br >';
echo 'Cidade' . $field_cidade . '<br >';
echo 'Estado' . $field_estado . '<br >';
echo 'De ' . $field_inicio . ' a ' . $field_termino . '<br >';
}
add_action('woocommerce_before_main_content','brg_informacoes_de_categoria', 2 );
答案 0 :(得分:2)
您似乎已在主题中覆盖了woocommerce single-product.php模板,而您的single-product.php文件缺少以下代码:
do_action( 'woocommerce_before_main_content' );
所以你只需要在你的主题的woocommerce目录中的single-product.php文件中的某处添加这行。
另一种选择是删除single-product.php文件 - 然后WooCommerce将使用默认的single-product.php文件,该文件包含此行。
<强>更新强>
你过早地试图挂钩你的功能。附加功能时,请尝试使用优先级10或更高。
为此,请替换以下行:
add_action('woocommerce_before_main_content','brg_informacoes_de_categoria', 2 );
以下内容:
add_action('woocommerce_before_main_content','brg_informacoes_de_categoria', 10 );