我想在我的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(); ?>"
。
我该如何避免?
答案 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('&','&',$buffer);
$buffer = str_replace('>','>',$buffer);
$buffer = str_replace('"','"',$buffer);
$buffer = str_replace('<','<',$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代码时唯一有效的解决方案。