根据类别编辑WooCommerce产品内容

时间:2017-11-12 作者:m2 eCommerce

我们正在使用Google Translate自动翻译我们的网站,但我们想排除特定类别的产品。我们已经通过放置<span class="notranslate">Span</span> 在产品描述和相应的模板文件中手动标记,但现在我们想对更多的产品进行标记,因此我们认为使用挂钩是更好的方法。

我想实现以下目标,但我不知道如何正确插入仅用于产品描述的NoTranslate范围:

add_action( \'wp\', \'disable_translation\' );
function disable_translation() {
    // If a product in the \'Cookware\' category is being viewed...
    if ( is_product() && has_term( \'Cookware\', \'product_cat\' ) ) {
        //... Wrap the product description into notranslate span to disable the translation
        <span class="notranslate">???????????????????</span>
    }
}
另一种方法可能是编辑描述。wp内容/插件/woocommerce/模板/单个产品/选项卡中的php如下:

<?php if ( has_term( \'Cookware\', \'product_cat\' ) )  {
    echo "<span class=\'notranslate\'>";
    }
    else {
        echo "<span>";
    } ?>
        <?php the_content(); ?>
    echo "</span>";
<?php endif; ?>
但不幸的是,这导致了以下错误:

分析错误:语法错误,意外的“endif”(T\\u endif),在/wp-content/plugins/woocommerce/templates/single-product/tabs/description中应为文件结尾。php第41行

我拼写错什么了吗?

谁能告诉我怎么做?非常感谢!

1 个回复
SO网友:Andrew Schultz

有几种方法可以做到这一点,您可以编辑模板文件\\woocommerce\\templates\\single-product\\title.php 直接更改标题格式。否则,您可以在functions.php 文件并添加您自己的以覆盖我从中借用的answer

<?php
    remove_action( \'woocommerce_single_product_summary\',\'woocommerce_template_single_title\', 5 );
    add_action( \'woocommerce_single_product_summary\', \'modify_woocommerce_template_single_title\',5 );

    function modify_woocommerce_template_single_title() {
        if ( has_term( \'Cookware\', \'product_cat\' ) ) {
    ?>
    <h1 class="product_title entry-title"><span class="notranslate"><?php the_title(); ?></span></h1>
    <?php
        }
        else {
            ?><h1 class="product_title entry-title"><?php the_title(); ?></h1><?php
        }
    }
    ?>
这只会更改单个产品页面的标题。商店页面将保留正常的产品标题,因为它使用不同的挂钩,但您可以应用相同的原则删除挂钩woocommerce_shop_loop_item_title 并覆盖该功能woocommerce_template_loop_product_title

结束

相关推荐

theme functions (hooks)

WordPress已经提出了这个问题,但没有答案。我只是想在这个论坛上试试,如果有人知道的话,因为我也有同样的问题。要使用jquery滑块编辑我的主题,如何转到该脚本?,显示“$主题->挂钩(\'content\\u before\');”在content div标记中。有人能帮忙吗?我的主题索引。php包含以下内容<div id=\"main\"> <?php $theme->hook(\'main_before\'); ?> &#x