将 woocommerce 类别描述移至产品下方

问题描述 投票:0回答:4

我们正在尝试将产品类别描述放在页面底部,以便产品首先显示。我尝试了本主题中的所有建议,但没有一个能发挥应有的作用。

下面的代码将类别描述放置在三个位置:产品上方、产品中间和产品下方。

remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 );

add_action( 'woocommerce_after_main_content', 'woocommerce_taxonomy_archive_description', 100 );

add_action( 'woocommerce_after_shop_loop', 'woocommerce_taxonomy_archive_description', 100 );

当我删除中间线(关于 main_content)时,产品的描述就会消失。所以我需要解决的就是删除产品页面顶部的描述。

我非常感谢您的帮助。在 我们的网站上查看产品类别可能会有所帮助。

我的 archive-product.php 代码:

<?php

/** * 显示产品档案的模板,包括主商店页面,这是一个帖子类型的档案 * * 可以通过将其复制到 yourtheme/woocommerce/archive-product.php 来覆盖此模板。 * * 但是,有时 WooCommerce 需要更新模板文件和您(主题开发人员)。 * 需要将新文件复制到您的主题以保持兼容性。我们尝试这样做。 * 尽可能少,但它确实发生了。发生这种情况时,模板文件的版本将会发生变化。 * 被修改,自述文件将列出所有重要的更改。 * * @参见 http://docs.woothemes.com/document/template-struct/ * @作者Transvelo * @package WooCommerce/模板 * @版本2.0.0 */

if ( ! 定义( 'ABSPATH' ) ) { 出口; // 如果直接访问则退出 }

electro_get_header(); ?>

<?php
    /**
     * woocommerce_before_main_content hook.
     *
     * @hooked electro_before_wc_content - 10 (outputs opening divs for the content)
     * @hooked electro_before_product_archive_content - 20
     */
    do_action( 'woocommerce_before_main_content' );
?>

    <?php
        /**
         * woocommerce_archive_description hook.
         *
         * @hooked woocommerce_taxonomy_archive_description - 10
         * @hooked woocommerce_product_archive_description - 10
         */
        do_action( 'woocommerce_archive_description' );
    ?>

    <?php if ( have_posts() ) : ?>

        <?php
            /**
             * woocommerce_before_shop_loop hook.
             *
             * @hooked electro_product_subcategories - 0
             * @hooked electro_wc_loop_title - 10
             * @hooked electro_shop_control_bar - 10
             * @hooked electro_reset_woocommerce_loop - 90
             */
            do_action( 'woocommerce_before_shop_loop' );
        ?>

        <?php
            /**
             * woocommerce_shop_loop hook
             *
             * @hooked electro_shop_loop
             */
            do_action( 'woocommerce_shop_loop' );
        ?>

        <?php
            /**
             * woocommerce_after_shop_loop hook.
             *
             * @hooked woocommerce_pagination - 10
             */
            do_action( 'woocommerce_after_shop_loop' );
        ?>

    <?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>

        <?php wc_get_template( 'loop/no-products-found.php' ); ?>

    <?php endif; ?>

<?php
    /**
     * woocommerce_after_main_content hook.
     *
     * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
     */
    do_action( 'woocommerce_after_main_content' );
?>

<?php
    /**
     * woocommerce_sidebar hook.
     *
     * @hooked woocommerce_get_sidebar - 10
     */
    do_action( 'woocommerce_sidebar' );
?>
php wordpress woocommerce categories product
4个回答
2
投票

将此代码添加到

function.php

add_action('woocommerce_archive_description', 'custom_archive_description', 2);

function custom_archive_description(){ 
  if ( is_product_category() ){
    remove_action('woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 );
    add_action('woocommerce_after_main_content', 'woocommerce_taxonomy_archive_description', 5 );
  }
}

来源链接


1
投票

在 function.php 中使用此代码

// move category description to bottom of pages
remove_action( 'woocommerce_archive_description',woocommerce_taxonomy_archive_description', 10 );
add_action( 'woocommerce_after_shop_loop', 'woocommerce_taxonomy_archive_description', 100 );

0
投票

将此函数插入主题的 function.php 中。激活短代码。

在类别页面中使用短代码,短代码中包含的文本将进行跳转

[wcsaltasotto]

您想要在下面跳转的文字

[/wcsaltasotto]

  function salta_sotto_shortcode( $atts, $content = null ) {
         $GLOBALS['salta_sotto_marco'] = '<div class="descrizione-due">' . $content . '<br></div><br>';
    
    
    }
    add_shortcode( 'wcsaltasotto', 'salta_sotto_shortcode' );
    
    function funzione_salta_sotto_marco ( ){
    
        if (isset($GLOBALS['salta_sotto_marco'])) {
     echo  $GLOBALS['salta_sotto_marco'] ;
    }
    
    }
    
    add_action( 'woocommerce_after_shop_loop', 'funzione_salta_sotto_marco' );

0
投票

已经很久了,但由于没有人回答这个问题,所以在这里:

remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 ); 
add_action( 'woocommerce_after_shop_loop', 'woocommerce_taxonomy_archive_description', 100 );
© www.soinside.com 2019 - 2024. All rights reserved.