Wordpress Woocommerce hook woocommerce_before_main_content无法正常工作

时间:2014-08-18 12:07:07

标签: php wordpress woocommerce hook

我需要在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 );

1 个答案:

答案 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 );