[在Wordpress短代码中包含PHP

问题描述 投票:-1回答:2

我试图在循环中使用它,但是我不确定如何实现它。它是一个like2unlock插件,我正在循环中使用它!

<?php echo do_shortcode('[l2g]<span class="download left"><?php get_attachment_icons($echo=true); ?></span>[/l2g]'); ?>

此代码以前在我的wordpress模板中不起作用,您对解决方案有何想法?

php wordpress shortcode
2个回答
1
投票

您只需要构建您的短代码字符串:

echo do_shortcode('[l2g]<span class="download left">' . get_attachment_icons(true) . '</span>[/l2g]');

您不需要在短代码中“包含PHP”,您需要使用PHP来构建您的短代码。

也,$echo = true是用于在函数定义中指定默认参数的符号。您应该仅传递参数而不将其分配给变量:get_attachment_icons(true)。由于默认为true,因此您也可以在不指定任何参数的情况下调用该函数。

顺便说一句,get_attachment_icons($echo=true)将正常工作,因为赋值的结果是所赋值,但这仍然不是使用默认参数调用函数的正确方法。


1
投票

您不应该将php传递给shortcode属性。这确实是不好的做法,而且还为黑客开辟了漏洞。

正确的方法是将您的php可执行代码构建到您的简码中,然后使用属性来控制您的php在简码中的运行方式。 get_attachment_icons应该在您的简码内。您想如何控制输出可以在您的属性中并按原样传递

© www.soinside.com 2019 - 2024. All rights reserved.