Как отключить отдельную страницу продукта в WooCommerce - PullRequest
0 голосов
/ 27 июня 2019

Я создаю сайт электронной коммерции с Woocommerce 3.6.4 + Wordpress 5.2.2 .

Я пытался отключить одну страницу продукта WooCommerce , чтобы люди могли делать покупки прямо со страницы моего магазина.

Пробовал:

1. Добавьте приведенный ниже код в файл functions.php моей дочерней темы, не работает.

remove_action( ‘woocommerce_before_shop_loop_item’,‘woocommerce_template_loop_product_link_open’, 10 );
remove_action( ‘woocommerce_after_shop_loop_item’,‘woocommerce_template_loop_product_link_close’, 5 );

2. Добавьте тот же код в мой WooCommerce content-product.php file. Не сработало.

3. /wp-content/plugins/woocommerce/templates/content-product.php

Сделать этот код комментариями:

        do_action( ‘woocommerce_before_shop_loop_item’);
        do_action( ‘woocommerce_after_shop_loop_item’);

Станьте так:

       //do_action( ‘woocommerce_before_shop_loop_item’);
       //do_action( ‘woocommerce_after_shop_loop_item’);

Она удалила ссылку на страницу покупок, но не удалила страницу с одним продуктом.

Любой совет или помощь, пожалуйста?

Как человек, который ничего не знает о кодировании, это буквально сводит меня с ума !!!

Кто-нибудь может мне помочь, пожалуйста? Любое предложение было бы здорово !!

Ниже находится wp_content / themes / my_theme / woocommerce / content-product.php :


    `<?php
/**
 * The template for displaying product content within loops
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/content-product.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 3.6.0
 */
defined( 'ABSPATH' ) || exit;
`

    <li  <?php wc_product_class( '', $product ); ?> data-product-id="<?php the_ID(); ?>">
    <?php
    /**
     * Hook: woocommerce_before_shop_loop_item.
     *
     * @hooked woocommerce_template_loop_product_link_open - 10
     */
    do_action( 'woocommerce_before_shop_loop_item' );?>

    <?php if ('yes' != $themify->hide_product_image) : ?>
        <?php

        /**
         * Hook: woocommerce_before_shop_loop_item_title.
         *
         * @hooked woocommerce_show_product_loop_sale_flash - 10
         * @hooked woocommerce_template_loop_product_thumbnail - 10
         */
        do_action( 'woocommerce_before_shop_loop_item_title' );

        ?>
    <?php endif; ?>
    <div class="product-content">
        <div class="product-content-inner-wrapper">
            <div class="product-content-inner">
                <?php
                /**
                 * Hook: woocommerce_shop_loop_item_title.
                 *
                 * @hooked woocommerce_template_loop_product_title - 10
                 */
                do_action( 'woocommerce_shop_loop_item_title' );


                /**
                 * Hook: woocommerce_after_shop_loop_item.
                 *
                 * @hooked woocommerce_template_loop_product_link_close - 5
                 * @hooked woocommerce_template_loop_add_to_cart - 10
                 */
                do_action( 'woocommerce_after_shop_loop_item' );

                ?>
                <div class="product-share-wrap">
                    <?php Themify_Wishlist::button() ?>
                    <?php if (themify_hide_quick_look()): ?>
                        <a onclick="return false;" data-image="<?php echo wc_placeholder_img_src() ?>" class="quick-look themify-lightbox" href="<?php echo add_query_arg(array('post_in_lightbox' => '1'), get_permalink()) ?>"><span class="tooltip"><?php _e('Quick Look', 'themify'); ?></span></a>
                    <?php endif; ?>
                    <?php if (themify_hide_social_share()): ?>
                        <?php get_template_part('includes/social-share', 'product'); ?>
                    <?php endif; ?>
                </div>
            </div>
        </div>
    </div>
    <!-- /.summary -->
</li>

1 Ответ

0 голосов
/ 28 июня 2019

В ваши темы functions.php добавьте код,

// remove single product page link
remove_action( 'woocommerce_before_shop_loop_item','woocommerce_template_loop_product_link_open', 10 );
remove_action( 'woocommerce_after_shop_loop_item','woocommerce_template_loop_product_link_close', 5 );

// hide single product page completely
add_filter( 'woocommerce_register_post_type_product','hide_product_page',12,1);
function hide_product_page($args){
  $args["publicly_queryable"]=false;
  $args["public"]=false;
  return $args;
}

решение было частично основано на ответе @Vitaly Gritsienko

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...