在标题“找不到产品”中添加功能

时间:2019-06-13 作者:AnaDarius

我用电子商务建立了自己的店铺,我是开发新手,我正确地知道CSS/HTML,但JS他不是我的茶杯。。。实际上,我想在woocommerce的“no\\u product\\u found”页面中随机显示一些产品。当客户来到店外的产品或空的子类别时,他会随机显示产品。

我已经在我的函数中添加了这个钩子。来自我的子模板的php文件

add_action( \'woocommerce_no_products_found\', \'show_products_no_products\', 20 );
function show_products_no_products() {
    echo \'<h2 class="customnoproduct">\' . __( \'Houston... On a un problème! </br>On a rien trouvé comme produits dans cette catégorie ‍\', \'north\' ) . \'</h2>\';
    echo do_shortcode( \'[products orderby="rand" per_page="8"]\' );
}
这是正常的工作和伟大的,但我的过滤器栏总是显示!。。。我想隐藏它们,所以我创建了另一个函数并直接在php中调用她。

在我的功能上。php

function hidefilter_callback() {
?>
<script>function removeElement(thb-shop-filters) {
    // Removes an element from the document
    var element = document.getElementById(thb-shop-filters);
    element.parentNode.removeChild(thb-shop-filters);
}</script>
<?php
}

add_action( \'myhelp\', \'hidefilter_callback\' );
之后总是在同一个函数上。php,创建add\\u操作。

add_action( \'woocommerce_no_products_found\', \'myhelp\', 30 );
function myhelp() {
    do_action( \'wp_head\',\'myhelp\' );
}
我不知道我的javascript功能是否好。。。但是这个功能是显示出来的,但不是在我的页面的头部,我不明白为什么?当我添加do_action( \'wp_head\',\'myhelp\' ); 在我的show\\u products\\u no\\u products挂钩中,她出现了,但出现在我的网站中。。。所以函数不运行。

我怎样才能解决这个问题?

对不起,我的英语,我是法国人,我尽我所能写正确!Thx提前感谢您的帮助!

1 个回复
SO网友:WebElaine

如果可能的话,最好使用PHP删除东西,因为如果只使用JS,从技术上讲,它们仍然存在于页面上。如果一个访问者在一个加载速度很慢的网络上,JS很长时间都没有启动,所以他们看到过滤器的时间足够长,可以使用它们怎么办?如果您可以找出在找不到产品时使用什么实际模板文件来显示页面,那么您可能可以在那里进行更改并使其具有条件-仅在以下情况下显示过滤器woocommerce_no_products_found 为false。

除此之外,您遇到的问题是您正在添加myhelp 对的操作woocommerce_no_products_found 钩这意味着您的函数只会在钩子启动时运行,而不会在wp_head 着火了,太晚了。这就是为什么你的代码没有把自己注入大脑。

相关推荐

wp-cli configuration in php?

https://make.wordpress.org/cli/handbook/config/#config-文件非常好,但我希望在配置中有更多的逻辑。有没有标准的方法?对于drush 我有.drush/aliases.drushrc.php, 其中包括来自各种Drupal存储库的脚本,这些脚本又包含处理各种站点和变体(生产、开发)的逻辑。我想要一些类似的wp-cli, YAML没有为我提供合适的工具。