你的问题是页面顶部的奇怪代码。为了了解发生了什么,让我用伪代码描述一个标准循环:
if we still have posts to process
while we still have posts to process
mark this post as processed and move to the next one
do things with it ( like printing the title and contents
您所拥有的相当于:
mark the first post as processed
if we still have posts to process
while we still have posts to process
mark this post as processed and move to the next one
do things with it ( like printing the title and contents
因此,如果您的搜索结果只返回一个结果,它将永远不会显示。
因此,我建议您这样做:
每当您看到类似的情况时,请删除标题中的hocus pocus:
<?php
get_header();
the_post();
?>
<?php define(\'WP_USE_THEMES\', false); get_header(); ?>
我希望警铃开始响起来。那代码毫无意义,没有理由滥用
WP_USE_THEMES
就像那样,它在主题中没有位置。
the_post
只能在post循环内调用,而不能在外部调用
get_header
两次都没有好处。调用一次,然后删除其余的。
我有一种强烈的感觉,您不理解代码的作用或工作原理。没关系,其他人也没有,把它拿走。每当你发现自己求助于这样的代码,或是胡乱摆弄一些东西,试图让这些东西发挥作用时,停下来,去研究一下基础知识。这会节省你的时间,让你头脑清醒。
缩进和php标记垃圾邮件有很多潜在问题,很容易发现,但隐藏在难以阅读的代码中
例如,这是一个不好的迹象,并且浪费你的时间来打印:
?>每个语句都应该在自己的行上,并且应该一致地缩进。您的posts循环是缺少缩进的一个主要示例。您的编辑器应该自动为您执行此操作,但如果不行,我建议您选择Sublimitext或PHPStorm之类的工具。还有很多其他人。
get_template_part
您对get\\u标题的滥用表明您将从如何使用的知识中受益匪浅
get_template_part
.