WP帖子-页面文本隐藏不起作用

时间:2019-08-21 作者:justdude

我想添加一个特殊的隐藏标记,为未注册用户隐藏帖子页面产品文本,并显示一个短语,如“阅读全文-请注册”。为此,我创建了一个微型插件。但它不起作用。

function hide_replace_register( $content ) {
    if (!is_user_logged_in()) {
        $updated_content = explode("<!--hide-->", $content);
        $updated_content = explode("&lt;!--hide--&gt;", $content);
        $updated_content = explode("&lt;!&#8211;hide&#8211;>", $content);
        $ucontent = $updated_content[0];
        if ($ucontent !== $content) {
            $ucontent .= \'<a href="\' . wp_registration_url() .\'"><strong>To read a full article text - please, Register!</strong></a>\';
        } else {
            $ucontent = $content;
        }
        return $ucontent;
    }
}
add_filter(\'the_content\', \'hide_replace_register\', 10);
你能帮我纠正错误吗?

1 个回复
最合适的回答,由SO网友:Mike Baxter 整理而成

我看到的第一个错误是你的第一个“如果”陈述。它包装了一切,包括你的“退货”声明。

假设其余部分都能正常工作,您可以尝试以下方法:

function hide_replace_register( $content ) {
    if (!is_user_logged_in()) {
        $updated_content = explode("<!--hide-->", $content);
        $updated_content = explode("&lt;!--hide--&gt;", $content);
        $updated_content = explode("&lt;!&#8211;hide&#8211;>", $content);
        $ucontent = $updated_content[0];
        if ($ucontent !== $content) {
            $ucontent .= \'<a href="\' . wp_registration_url() .\'"><strong>To read a full article text - please, Register!</strong></a>\';
        } else {
            $ucontent = $content;
        } // end if content has been modified

    } else { // else .. user IS logged in, so return the original content
            $ucontent = $content;
    } // end if user is logged in
        return $ucontent;
} // end function hide_replace_register
add_filter(\'the_content\', \'hide_replace_register\', 10);
我有点怀疑在没有任何array\\u merge函数的情况下,一行中会出现多个爆炸,但这种修改至少会为登录的用户输出一些东西。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。