作为birgire
在评论中提到,“你错过了return
您回答的“如何在不转义HTML代码的情况下添加它?”?“
EDIT: 只是澄清一下。正如dswebsme所指出的那样,您的代码应该能够正常工作。我只是测试了有无返回,两种都可以(尽管返回将是首选)。下一个问题是:您是否将您的快捷码标记正确地添加到了内容中?e、 g。[ashtopbar/]
? 而且它没有拼写错误,对吗?
不管怎样,离开关于Herdeoc的部分:
在PHP中,有多种方法可以将复杂数据(包括HTML)获取到字符串变量中。在你的情况下,我会使用PHP\'s heredoc syntax, 因为您可以在其中放入任何内容,而不必逃避语法:
<?php
function choose_ashtopbar() {
$html = <<<HTML
<img src="/images/flag_globe2.png" class="ttupmg" />
<div class="dmzeus">
<ul>
<li class="f-selection">London
<ul>
<li>New York</li>
<li>Paris</li>
<li>Milan</li>
</ul>
</li>
</ul>
</div>
HTML;
return $html;
}
function register_ashcodes(){
add_shortcode(\'ashtopbar\', \'choose_ashtopbar\');
}
# I\'m guessing init has already run by this point
# add_action( \'init\', \'register_ashcodes\');
# Use a different hook or just register your code
register_ashcodes();
本质上,您的原始代码只是在
add_shortcode
运行
choose_ashtopbar
功能,这可能不是您想要的。