Php 如何让woothemes短代码在产品属性的归档页面上工作

Php 如何让woothemes短代码在产品属性的归档页面上工作,php,wordpress,woocommerce,woothemes,Php,Wordpress,Woocommerce,Woothemes,我真的不知道如何问这个问题,但是如果你看看这个链接,你就会明白我的意思 您将看到[box]的短代码没有被执行 如果你浏览一个产品,短代码工作正常-例如点击第一个名为“Compact”的产品,你会看到[box]被执行到灰色框中,其中有一个灰色和一个橙色按钮 另外,我现在花了几个小时试图找出创建此页面的模板。该页面是具有特定产品属性值的所有产品的列表(属性为技能级别,值为初学者) 我希望它是archive-product.php,但事实并非如此,而且我在一个页面上找不到任何其他涉及多个产品的文件

我真的不知道如何问这个问题,但是如果你看看这个链接,你就会明白我的意思

您将看到[box]的短代码没有被执行

如果你浏览一个产品,短代码工作正常-例如点击第一个名为“Compact”的产品,你会看到[box]被执行到灰色框中,其中有一个灰色和一个橙色按钮

另外,我现在花了几个小时试图找出创建此页面的模板。该页面是具有特定产品属性值的所有产品的列表(属性为技能级别,值为初学者) 我希望它是archive-product.php,但事实并非如此,而且我在一个页面上找不到任何其他涉及多个产品的文件


感谢您的帮助

在文章中使用短代码时,应使用
[box]
语法。但是,如果要在模板中执行短代码,则必须使用php执行该短代码。由于您的主页似乎只是显示短代码而不是运行它,因此它可能位于模板中。要在模板中执行短代码,请执行以下操作

<?php echo do_shortcode('[box]'); ?>

所以对于你主页上的那个

<?php echo do_shortcode('[box size="small" style="rounded" border="full"]'); ?>

好的,我已经知道怎么做了。
非常感谢chiliNUT的帮助,因为他们帮助我继续前进。。。。因此,我给了他们一个提价

无论如何,它使用的是themes archive.php模板(而不是我假设的woocommerce插件模板)。在archive.php中,我更改了div类“entry”中的以下行

<?php if ( $woo_options[ 'woo_post_content' ] == "content" ) the_content(__( 'Read More...', 'woothemes' )); else the_excerpt(); ?>



它现在可以工作了,似乎没有损坏任何其他东西。

谢谢你的回答。不幸的是,我不知道该页面(不是我的主页)正在使用哪个模板。这是一种归档页面,循环浏览所有对特定定制产品属性(技能级别)具有特定值(初学者)的产品。只需在文件系统中搜索
[box size=“small”style=“rounded”border=“full”]
,我不知道你的意思你不知道它是哪个模板,所以我假设你不是那个输入那个短代码的人,而是模板设计师输入的?因此,如果您在*nix中,那么您可以在命令行上执行
grep-r“[box size=\'small\'style=\'rounded\'border=\'full\']”/path/to/wordpress/
,或者在命令提示符下的windows框上执行
X:\path\to\wordpress>findstr/s/p[box size=\'small\'style=\'rounded\'border='full\]*.php
并且它会告诉您该文件的短代码是inI,它确实将短代码放入了产品的“简短描述”中。当显示在产品页面上时,它会正确执行,但由于某些原因,在“存档”页面上不会执行该快捷码。如果我能找到一种方法来确保do_shortcode()被触发,或者如果我能找到哪个文件是模板,我应该能够解决这个问题。
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>