我试图显示/隐藏两行文本,具体取决于WooCommerce
类别为空或其中包含任何产品。使用以下命令将这些行插入到文本块中Elementor
我已经分配了CSS #ID
给每一个人,这样我就能控制它。
现在,在我的自定义函数插件中,我想添加一个函数来控制使用css
类型规则:display:none;
. 我现在的代码是:
function show_outlet_msg($content){
$term = get_term( 40, \'product_cat\' );
$total_products=$term->count;
if ($total_products>0){
//Have a products
} else {
//No products
}
}
add_filter(\'astra_entry_content_before\',\'show_outlet_msg\');
现在,我想申请,如果门店中有产品,则应隐藏门店中没有产品的文本:
#txt_outlet_zero{
display: none;
}
如果没有产品,请隐藏表示有以下产品的产品:
#txt_outlet_head{
display: none;
}
如何从php代码中应用这些CSS规则?
SO网友:Pat J
您可以连接到wp_enqueue_scripts
和使用wp_add_inline_style()
:
add_action( \'wp_enqueue_scripts\', \'wpse383179_inline_style\' );
function wpse383179_inline_style() {
$term = get_term( 40, \'product_cat\' );
$total_products=$term->count;
if ($total_products>0){
$css = \'#txt_outlet_zero { display: none; }\';
} else {
$css = \'#txt_outlet_head { display: none; }\';
}
wp_add_inline_style( \'{your-css-id}\', $css );
}
棘手的部分是确定
your-css-id
应该是。您可以查看给定页面的源代码并检查
<link rel="stylesheet" ...>
标签。他们每个人的CSS ID(假设他们已经正确注册并排队等待WordPress)将位于
id
属性,带有
-css
附加到它。所以,如果你看到,例如,
<link rel="stylesheet" id="my-styles-css" src="/path/to/stylesheet.css" />
。。。然后
{your-css-id}
代码段中的位应为
my-styles
.
但是,有没有理由为此生成两个不同的CSS ID?永远不会有这样的情况$total_products
为0且大于0。可能有一种更简单的方法,例如,添加一个<div>
并根据产品数量更改其中的内容。