我是wordpress和wordpress循环的新手。我试图了解循环但没有任何成功。贝尔和我在一起我会试着解释一下我不理解的东西......
我使用名为'graphy'的模板。当我创建一个'Page'时,有一个创建没有侧栏的页面的选项,模板被称为'nosidebar.php',这是它的代码:
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'page' ); ?>
<?php
// If comments are open or we have at least one comment, load up the comment template
if ( comments_open() || '0' != get_comments_number() ) :
comments_template();
endif;
?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->
</div><!-- #primary -->
1-为什么这个模板包含一个循环?它只显示没有侧栏的单页内容!显然它不会循环显示帖子并显示它们!
我尝试创建自己的模板页面,该页面仅用于首页,这就是我想出的内容
<?php
/**
* Template Name: Main_Page
* Description: A page template without sidebar.
*
* @package Graphy
*/
get_header();
?>
<!--<div id="primary" class="content-area">-->
<!--<main id="main" class="site-main" role="main">-->
<div id="main_content">
<?php
the_content(); // the content
?>
</div>
<!--</main> #main -->
<!--</div> #primary -->
<?php get_footer(); ?>
然而,当我安装this plugin用于向页面和帖子插入小部件时 使用main_page没有显示小部件但是当我切换到“没有侧边栏页面”时它工作了。 然后我将循环复制到我的主页面并且它有效。
2-这个循环使插件工作的秘诀是什么,而仅调用<?php the_content() ?>
则没有?显然,这个循环比其他90%的帖子解释的还要多。
答案 0 :(得分:1)
在第一个问题上,页面模板会输出信息,这就是您看到循环的原因。显示的信息是在tinymce编辑器内的页面编辑器屏幕中输入的信息。
为了更好地理解,请阅读我最近在WPSE上完成的这两篇文章
在问题二中,the_content()
不输出侧边栏和小部件,而是输入到帖子编辑器中的内容。侧栏显示特定的呼叫。
您需要查看主题如何注册侧边栏。我还怀疑你的侧边栏行为是由body_classes
操纵的。不幸的是,我无法提供帮助,因为这非常特定于您的主题
答案 1 :(得分:0)
全部关于the_post();
,不需要任何while循环。
试试这个
<?php
the_post();
the_content();
?>
它会起作用。 the_post()
是检索帖子内容的函数。
仅当从类别中调用检索时才需要while循环。