我正在开发一个关于主题框架的wordpress网站。在我的子主题中,我制作了一个称为资源的全宽页面模板。php
在这个页面模板中,我编写了自定义php代码,其中显示了与特定类别的帖子相关的各种自定义字段。
例如:
<div class="download">
<ul id="portfolio" class="port">
<?php query_posts(array ( \'category_name\' => \'research\' , \'posts_per_page\' => \'-1\' , \'order\'=>\'ASC\') ); ?>
<?php while (have_posts()) : the_post(); ?>
<li class="<?php foreach((get_the_category()) as $category) { echo $category->category_nicename; echo" ";} ?> resourcelist">
<span class="doctitle"><?php the_field(\'document_title\') ;?> <span class="date"><?php the_field(\'document_date\'); ?></span> <span class="categry"><?php foreach((get_the_tags()) as $tag) { echo $tag->name; echo" "; } ?></span></span>
<span class="docdes"><?php the_field(\'document_description\') ;?></span>
<span class="docpath"><a title="download" target="_blank" href="<?php the_field(\'document_path\'); ?>">
<img border="0" src="test.png">
</a> </span>
</li>
<?php endwhile; ?>
</ul>
</div>
现在我想做的是将此页面限制为只有已注册的用户。我有一个插件来处理这个问题,例如:页面限制
page restrict的作用是替换通过页面wisiwyg编辑器调用的任何内容the_content()
带有消息“您需要登录”。
页面被阻止,但是我的php代码作为页面模板的一部分执行。
我正试图找到一种方法,将我所有的php代码添加到the_content();
这样输出也会被消息替换。
我偶然看到这篇文章,它给了我以下代码。
<?php
function demo_function( $content ) {
$someHtml = \'<div class="someClass">\';
$someHtml .= \'some text or code goes here\';
$someHtml .= \'</div>\';
$filteredcontent = $someHtml . $content;
return $filteredcontent;
}
add_filter( \'the_content\', \'demo_function\' );
//the loop goes here
the_content();
?>
这段代码的作用是将上述HTML添加到\\u content()中;因此,下次我阻止页面时,甚至上面的内容也会被阻止。我确实希望这样,但我的php代码不是这个HTML。
我真的很接近破解这个问题,但由于上面的语法将html附加到变量中,因此我无法通过该方法附加这么多行php代码。
请帮帮我。如果您有任何问题,请随时提问。