拥有一个新闻网站,直到最近,有两种方法可以合法地进入付费墙。首先是一个用户/通行证,该用户/通行证根据远程数据库进行了检查,并返回了“是”或“否”的身份验证值。这部分仍然有效。另一种方法是用一个名为“免费故事”的自定义字段指定帖子或页面。免费故事的值为1或零。是的,我是免费的。零是,用户/身份验证系统无效。
这个网站很旧。会话身份验证用于某种原因,我不知道。将“自由故事”值设置为true、1或yes应允许其完全可见。否则,只有用户/通行证才能工作。自定义字段下的“accordion”项目列表说明了我所看到的一些古老插件在数据库中的损坏。免费故事可能会显示,也可能不会显示,供用户选择,但用户始终可以创建它并将其设置为其pref值。
我不知道如何调试这个。我对这件事一无所知,我的目的是不让事情变得更糟$post id是创建时在WP中分配给帖子的int值或帖子编号。如果不更改永久链接设置,url将以该值结尾。
在下面发布的代码中,只有最初的10-25行似乎与免费故事自定义字段相关。其余部分涉及如何处理来自用户/通行证系统的身份验证和取消身份验证。
这个系统已经运行多年了。我继承了这段代码,只修改了AUTH端以加快用户的登录速度,这已经与免费故事一起使用了2年。
我的猜测是,作为一个新手,当下面的代码查找免费故事时,它的价值没有传递到post meta,也没有被识别为1。
事实上,当用户分配免费故事字段时,会出现一系列针对某种“手风琴”系统的选择。创建正确值的新字段似乎不起作用。自定义字段的新插件也不起作用。见附件:
这个
page.php
主题模板包含以下代码;以下是整个php文件:
<?php get_header(); ?>
<div id="content" class="archive">
<!-- Newzware Protection Code -->
<?php
$key = \'Free Story\';
$themeta = get_post_meta($post_id, $key, TRUE);
if($themeta != \'\') {
$free_story = 1;
}
?>
<?php if($_SESSION[\'auth\'] == \'1\' OR $free_story == \'1\') { ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post_<?php the_ID(); ?>">
<span id="map"><a href="<?php echo get_option(\'home\'); ?>/"><?php _e(\'Home\',\'arthemia\');?></a> » <?php the_title(); ?></span>
<h2 class="title"><?php the_title(); ?></h2>
<div class="entry" style="padding-top:15px;">
<?php the_content(__(\'<p>Read the rest of this page »</p>\',\'arthemia\')); ?>
<?php wp_link_pages(array(\'before\' => __(\'<p><strong>Pages:</strong>\',\'arthemia\'), \'after\' => \'</p>\', \'next_or_number\' => \'number\')); ?>
</div>
</div>
<?php endwhile; endif; ?>
<?php } else { ?>
<div class="panel panel-default" style="margin-top:10px;"><div class="panel-heading" style="background:#0079BD;" "color:#fff;" "text-align:center;"> Subscribe To The Journal</div><div class="panel-body"> <p style="text-align:center">
</p>
<div > If you are already registered with The Journal/ UpstateToday.com, please <a href=\'https://seneca.newzware.com/ss70v2/seneca/common/template.jsp?nwmodule=registration&nwpage=registration&returnPage=https://upstatetoday.com/utloginnw/&rpage=https://upstatetoday.com/newzware_auth.php\' class=class=\'SumaPostContent\'><b class="text-danger"> click here </b></a> to log in and continue reading. If not, <a href=\'https://seneca.newzware.com/ss70v2/seneca/common/template.jsp?nwmodule=nonsubscribers&nwpage=nonsubstart\'><b class="text-danger"> please click here for subscription options </b>. </a>.</p></div>
</div></div>
<!-- <div class=\'panel panel-default\' style=\'margin-top:10px;\'> <div class=\'panel-heading\' style=\'background:#0079BD; color:#fff; text-align:center;\'>Subscribe To The Journal</div><div class=\'panel-body\'> <p style=\'text-align:center\'>
If you are already registered with The Journal/ UpstateToday.com, please <a href=\'https://seneca.newzware.com/ss70v2/seneca/common/template.jsp?nwmodule=registration&nwpage=registration&returnPage=https://upstatetoday.com/utloginnw/&rpage=https://upstatetoday.com/newzware_auth.php\' class=class=\'SumaPostContent\'><b class="text-danger"> click here </b></a> to log in and continue reading. If not, <a href=\'https://seneca.newzware.com/ss70v2/seneca/common/template.jsp?nwmodule=nonsubscribers&nwpage=nonsubstart\'><b class="text-danger"> please click here for subscription options </b>. </a>.</p></div></div>
-->
<?php } ?>
<!-- End Newzware Protection Code -->
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>