如何在特定页面的短代码中显示HTML-该页面是Woocommerce商店页面

时间:2020-07-09 16:52:44

标签: wordpress woocommerce shortcode wordpress-shortcode

如何在特定页面的简码中显示HTML- 该页面是Woocommerce商店页面 我在小部件中添加了简短代码,但未显示 只需要显示特定页面

这是代码[rj_mysh]

function rj_mysh_shortcode() {
if(is_page(11762)) {
    $html = '<a href="example.com/script.php?id="></a>;
    return $html;
  }
}
add_shortcode('rj_mysh', 'rj_mysh_shortcode');

2 个答案:

答案 0 :(得分:0)

该代码看起来仅会显示在页面ID = 11762上。

如果它在小部件中,则可能不知道它在11762页上,因此它不会显示。

您似乎只希望该项目显示在11762页的小部件区域中。这有点棘手。

解决方案:

  • 更改页面布局,使其包含简码(最简单)
  • 设置包含小部件区域的自定义page template。在该页面上使用该模板,然后在其中放置小部件。就像常规页面模板一样,只是带有其他小部件区域。

答案 1 :(得分:0)

首先,我们永远不会通过function.php文件输入html,永远! (如果这样做,我会杀死尤达宝贝!)。如果要真正控制,最好的方法如下。

正确的方法是将自定义的“函数”粘贴到page-shop.php文件中。

在主题文件中,您应该有一个名为page-shop.php的文件,在打开该文件时,在标题下(在您想要的任何位置,将其适应设计)添加以下内容:

<?php
/**
* You can remplace the first line by the following line if you
* want it to apply only on shop page that are not categories: 
* if ( is_shop() && !is_product_category() ) {
*
*
* Check if it's a shop page, and if it is do stuff...
*/
if ( is_shop() ): ?>

<div>My custom html goes here</div>

<?php endif; ?>

希望会有所帮助