Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用WordPress上的产品存档_Wordpress_Woocommerce - Fatal编程技术网

禁用WordPress上的产品存档

禁用WordPress上的产品存档,wordpress,woocommerce,Wordpress,Woocommerce,我想在我的WP/WooCommerce安装中完全禁用产品档案 在WooCommerce设置中,我没有任何设置为“商店”页面。但是,当我访问mysite.com/shop时,它会显示一个自动填充的产品归档。它也出现在谷歌搜索结果中。如何禁用此功能?我不想让我的用户看到网站上的所有产品,因为它是一个会员网站。当WooCommerce注册产品发布类型时,它会将存档(has_archive)设置为店铺页面ID(如果已设置),否则默认为“shop”。前提是该主题已声明支持WooCommerce。对于没有声

我想在我的WP/WooCommerce安装中完全禁用产品档案


在WooCommerce设置中,我没有任何设置为“商店”页面。但是,当我访问mysite.com/shop时,它会显示一个自动填充的产品归档。它也出现在谷歌搜索结果中。如何禁用此功能?我不想让我的用户看到网站上的所有产品,因为它是一个会员网站。

当WooCommerce注册产品发布类型时,它会将存档(
has_archive
)设置为店铺页面ID(如果已设置),否则默认为“shop”。前提是该主题已声明支持WooCommerce。对于没有声明的主题,它会将归档设置为false

主题支持通过以下方式声明:

add_theme_support( 'woocommerce' );
记住这一点,我们可以在注册product post类型时覆盖传入的参数,将
has_archive
设置为false。这是我写的一个过滤器。这将放在主题的functions.php文件中,或者放在其他最合适的地方

function wpse_wc_disable_shop_archive( $post_type_args ) {
    $post_type_args['has_archive'] = false;
    return $post_type_args;
}
add_filter( 'woocommerce_register_post_type_product', 'wpse_wc_disable_shop_archive' );
一旦实现了此代码,请确保刷新永久链接

我必须强调,我还没有测试上述代码,需要彻底了解其影响。WooCommerce和各种扩展可能希望有一个商店档案,因此您需要了解没有档案的效果。像“继续购物”这样的链接会断开吗


另外,你给出的隐藏商店页面的理由是,作为会员网站,你不希望用户看到所有的产品。您的完整产品列表还可以通过多种方式公开(例如API或网站地图)。

非常感谢Nathan。我实现了您的代码,这似乎有一些效果-它基本上简化了/shop页面的布局,但它仍然存在。对此有进一步的想法吗?关于您的其他问题,我已将我的网站地图上的所有产品/帖子设置为nofollow。您是否检查/删除了pages下的“Shop”页面?这可能是因为你有一个实际的页面,上面有slug shop,现在正在显示。刷新你的永久链接(设置->永久链接->保存)刷新永久链接成功了:)谢谢你的帮助@米克迪兹:不用担心,我已经为其他处理此事的人补充了这一点