下面是我遇到的一个php问题,它可以通过其他方式工作,但不会按我希望的方式工作。
基本上我希望将WP登录和注销命令添加到A-HREF链接,但是关闭短代码似乎没有生效,我想知道为什么并希望能解决这个问题。
<?php
echo do_shortcode('[not-level-visitors]') .
'<div id="SignUp">
<ul>
<li><img src="http://dev.universitycompare.com/wp-content/themes/blue-and-grey/images/icons/user_icon.png" alt="User Icon My Account University Compare" />
<a href="http://dev.universitycompare.com/account/" style="margin: 0px 0px 0px -8px;">My Account</a>
</li>
<li>
<a href="' . wp_logout_url($redirect) . '">Log Out</a>
</li>
</ul>
</div>' .
do_shortcode('[/not-level-visitors]');
?>
基本上上面的代码有点工作,但我只需要关闭短代码就可以了,因为它出现在我的html中并且没有被识别 - 我已经从下面的代码片段中创建了上面的代码,我已经在使用它了完全:
<?php
echo do_shortcode('[level-visitors]
<div id="SignUp">
<ul>
<li>
<a href="#">Sign Up</a>
</li>
<li>
<a href="#">Login</a>
</li>
</ul>
</div>
[/level-visitors]');
?>
答案 0 :(得分:0)
看起来您需要删除额外的开/关括号和额外的do_shortcode调用。
<?php
echo do_shortcode('[not-level-visitors]' .
'<div id="SignUp">
<ul>
<li><img src="http://dev.universitycompare.com/wp-content/themes/blue-and-grey/images/icons/user_icon.png" alt="User Icon My Account University Compare" />
<a href="http://dev.universitycompare.com/account/" style="margin: 0px 0px 0px -8px;">My Account</a>
</li>
<li>
<a href="' . wp_logout_url($redirect) . '">Log Out</a>
</li>
</ul>
</div>' .
'[/not-level-visitors]');
?>
答案 1 :(得分:0)
我发现的主要区别是单次调用vs多次调用do_shortcode,我认为它无法与正则表达式匹配。
也许这会奏效:
echo do_shortcode('[not-level-visitors]
<div id="SignUp">
<ul>
<li><img src="http://dev.universitycompare.com/wp-content/themes/blue-and-grey/images/icons/user_icon.png" alt="User Icon My Account University Compare" />
<a href="http://dev.universitycompare.com/account/" style="margin: 0px 0px 0px -8px;">My Account</a>
</li>
<li>
<a href="' . wp_logout_url($redirect) . '">Log Out</a>
</li>
</ul>
</div>[/not-level-visitors]');