Php wordpress:我能避免“我能避免吗?”<&引用;及&燃气轮机&引用;正在转换为&;lt:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;及&;燃气轮机&引用;内href标签

Php wordpress:我能避免“我能避免吗?”<&引用;及&燃气轮机&引用;正在转换为&;lt:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;及&;燃气轮机&引用;内href标签,php,html,wordpress,Php,Html,Wordpress,我想在我的wordpress网站上添加一个链接,将用户带到wordpress默认的“忘记密码”页面。以下是我正在使用的wordpress文档页面: 我在wordpress文本编辑器中以文本形式添加链接,因为我无法直接访问源文件。我正在使用文档页面中的示例html: <a href="<?php echo wp_lostpassword_url(); ?>" title="Lost Password">Lost Password</a> 但是,当我保存页

我想在我的wordpress网站上添加一个链接,将用户带到wordpress默认的“忘记密码”页面。以下是我正在使用的wordpress文档页面:

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

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

但是,当我保存页面时,“大于”和“小于”括号将转换为各自的html编码,因此在站点上,将显示字符串literal
,而不是将url显示为href值


如何避免这种情况?

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]。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]。

它不漂亮,也不花哨,我对此并不感到自豪,但它只是工作:

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');
函数回调($buffer){
$buffer=str_replace(“&;”、“&;”、$buffer);
$buffer=str_replace(“,”>,$buffer);
$buffer=str_replace(“,”,$buffer);

$buffer=str_replace(“”,它不漂亮,也不花哨,我对此并不感到自豪,但它只是工作:

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');
函数回调($buffer){
$buffer=str_replace(“&;”、“&;”、$buffer);
$buffer=str_replace(“,”>,$buffer);
$buffer=str_replace(“,”,$buffer);

$buffer=str\u replace(“”,'WP可能不知道您试图在某些文本中嵌入PHP,因此它正确地将
编码到字符实体中。您没有通过外观>编辑器访问文件的权限吗?好的,是的,谢谢您解释我描述的问题。问题仍然是是否有办法避免这种情况。或者换句话说,是不是这里有一种方法可以让wordpress知道我正在尝试嵌入php代码?@DannyHearnah我不确定。我在外观>编辑器中遇到了两个问题。第一个问题是我无法保存我正在编辑的文件。我不确定我是否缺少一些特权,但它不起作用。其次,我甚至不知道在哪个文件中可以找到它我试图修改的html块。我没有看到与我试图放置该链接的页面相对应的文件。WP可能没有意识到您试图在某些文本中嵌入PHP,因此它正确地将
编码到字符实体中。您没有通过外观>编辑器访问文件的权限吗?是的,是的谢谢你对我描述的问题进行解释。问题在于是否有办法避免这种情况。或者换句话说,有没有办法让wordpress知道我正在尝试嵌入php代码?@DannyHearnah我不确定。外观>编辑器有两个问题。第一个问题是我无法保存我正在编辑的文件g、 我不确定我是否缺少一些特权,但它不起作用。其次,我甚至不知道在哪个文件中可以找到我试图修改的html块。我没有看到与我试图放置该链接的页面相对应的文件。谢谢。我目前没有访问functions.php的权限,但当我这样做时,我会尝试这个。Tha我目前没有访问functions.php的权限,但当我访问functions.php时,我会尝试使用它。