【问题标题】:Can I use this PHP code with my WordPress blog?我可以在我的 WordPress 博客中使用这个 PHP 代码吗?
【发布时间】:2013-07-14 15:13:08
【问题描述】:

我的网站是手工编码的,有一个用 PHP 编码的会员区。包含一些仅限会员的内容的所有页面的开头都是这样的:

<?
require_once('system/conf.php');
?> 

然后是 doctype 和 html 标签。在页面正文中,仅限会员的内容是这样指定的:

<? if (Auth::checkMembership()) { ?>
// members-only content goes here
<? } else { ?>
// content shown to others goes here
<? } ?>

如果整个页面仅供会员使用,则该页面的开头会是这样的:

<?
require_once("system/conf.php");
Auth::requireMembership();
?>

现在,我的域上还安装了一个 WordPress 博客,我想开始在那里发表帖子,只有我的成员才能访问。我还没有弄清楚如何在 WordPress 制作的页面中编辑 doctype 和 html 标签之前的部分,而且我不知道上面的代码是否会在某种程度上与 WordPress 发生冲突。所以我的问题是是否可以在 WordPress 中使用上述代码,如果可以,如何?

(我确实意识到我可以安装一个 WordPress 会员插件并手动添加我的会员(有效地与两个会员系统一起运行),但如果可能的话,我更愿意将我现有的会员系统与 WordPress 集成以拯救自己麻烦,也让新成员不必等待我手动激活他们对 WordPress 内容的访问。)

我热切希望有人能帮助我!

根据 John WHS 的请求进行编辑:

这是我在 doctype 之前添加到 header.php 的内容:

<?
require_once('../system/conf.php');
?>

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    Wordpress 允许您编辑与模板对应的 PHP 文件。在您的管理面板中,转到外观 > 编辑器,然后打开 header.php。该文件包含在您博客的每个页面中...因此所有放在其开头的 PHP 代码都将在任何地方执行。

    现在,您可以在 header.php 中包含您的 conf.php,然后执行您通常的成员资格检查。不过,这可能需要一些安排。

    在我的 Wordpress 博客上,我做了类似的事情,但不是为了会员资格。见:

    <?php
    if(preg_match("#Mozilla#i", $_SERVER['HTTP_USER_AGENT']) && 
       preg_match("#MSIE#i", $_SE RVER['HTTP_USER_AGENT']))
          // Browser is IE...
    ?>
    

    鉴于您不想使用插件,这是我想到的第一个解决方案。请记住,它绝对不是最干净的。

    编辑:通过电子邮件与作者交谈以保持 cmets 清晰。最后一段代码没有其他问题。只要确保它不会与主题或插件产生冲突。包括而不是要求似乎也更有效率。

    【讨论】:

    • 您好约翰 WHS,谢谢! (男孩,我是否因为之前没有找到 header.php 文件而感到羞愧……)我尝试从上面的帖子中添加第一段代码(有一个 ../ 实例,因为我的 WordPress 博客位于根文件夹),但我收到此错误消息:“致命错误:请求的模板不存在:/system/error. in /customers/4/8/f/mydomain.com/httpd.www/system/include/第 129 行的 classes/class.template.php" 有什么想法吗?编辑:哎呀,没有意识到输入=发送。还尝试使用绝对路径来确保我指向正确的文件,但这会导致空白。
    • 您可以尝试改用include_once 吗?编辑:关于空白,你可以在你的第一篇文章中添加你的代码(在 header.php 的顶部)吗?
    • 这是 header.php 的第一部分,包括我一直在尝试的代码: require_once('../system/conf.php'); ?> ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow" target="_blank">w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> w3.org/1999/xhtml"> 现在让我试试 include_once!编辑:对不起,我想我可能误解了你要我做什么!你能澄清一下吗?第二次编辑:我使用 include_once 得到相同的结果。
    • 您能否编辑您的问题(不要使用评论)并将您添加的代码粘贴到 header.php 中?
    • 尝试使用include_once 而不是require_once。 “空白”可能是由于无法在生产环境中显示的错误。
    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 2011-04-29
    • 1970-01-01
    • 2017-07-05
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    相关资源
    最近更新 更多