wordpress:我可以避免"<"和">"被转换为"<:"和">"在href标签内

时间:2014-08-11 16:13:01

标签: php html wordpress

我想在我的wordpress网站上添加一个链接,将用户带到wordpress默认"忘记密码"页。这是我正在处理的wordpress文档页面:

http://codex.wordpress.org/Function_Reference/wp_lostpassword_url

我在wordpress文本编辑器中将链接添加为文本,因为我无法直接访问源文件。我正在使用文档页面中的示例html:

<a href="<?php echo wp_lostpassword_url(); ?>" title="Lost Password">Lost Password</a>

然而,当我保存页面时,&#34;大于&#34;和&#34;小于&#34;括号将转换为各自的html编码,因此在网站上不显示url作为href值,而是显示字符串文字"<?php echo wp_lostpassword_url(); ?>"

我该如何避免?

2 个答案:

答案 0 :(得分:2)

Wordpress不会解析PHP代码。如果您愿意,可以使用插件,但它们不是最佳的。相反,尝试这样的事情......

在你的functions.php文件中:

add_shortcode('lostpassword_url', 'my_lostpassword_url');

function my_lostpassword_url($atts){
    return wp_lostpassword_url();
}

在包含表单的页面中:

<a href="[lostpassword_url]" title="Lost Password">Lost Password</a>

这将告诉WordPress解析您的页面/帖子的内容,并用函数调用替换[lostpassword_url]。

答案 1 :(得分:1)

它并不美丽,它并不华丽,我对此并不感到自豪,但它只是起作用:

function callback($buffer) {
    $buffer = str_replace('&amp;','&',$buffer);
    $buffer = str_replace('&gt;','>',$buffer);
    $buffer = str_replace('&quot;','"',$buffer);
    $buffer = str_replace('&lt;','<',$buffer);
    return $buffer;
}
function buffer_start() { ob_start("callback"); }
function buffer_end() { ob_end_flush(); }
add_action('wp_head', 'buffer_start');
add_action('wp_footer', 'buffer_end');

这是在我的帖子上显示PHP代码时唯一有效的解决方案。