在index.php中使用IF语句,而不是创建单独的模板文件

时间:2015-08-30 作者:Giacomo Cerquone

当用户单击一个类别链接或搜索某个内容时,我只需添加一行,所以我想在索引中这样做。php,而不是创建其他模板文件,如搜索。php和类别。php:

<?php if(is_search()): ?>
    <h1><?php the_search_query(); ?></h1>
<?php endif; ?>

<?php if(is_category()): ?>
    <h1><?php single_cat_title(); ?></h1>
<?php endif; ?>
这是一种好的做法吗?如果没有,为什么?说到速度,哪个更好?

2 个回复
SO网友:Pieter Goosen

在我开始之前,最好去看看my answer 至以下职位

  • What is singular.php?

    正如我在链接答案中所述,您可以拥有一个功能齐全的网站,只需index.php 作为模板显示所有页面的帖子

    你所做的很好,如果有任何速度差,应该是非常非常非常小的。然而,我要强调的是,您的方法可能有一个缺点,即一个模板需要做很多事情。

    因为您希望为不同的页面执行不同的操作,所以最好创建相关页面加载所需的模板。正如我所说的,如果任何方法都有速度差,那真的是非常非常非常分钟,你不会担心。为具有不同布局的不同页面使用不同的模板的优点是,不会用大量不必要的代码重载一个模板。

    如需更多参考,请参阅my answer 也到以下岗位

SO网友:Ruturaj

对我来说,在索引中使用这种IF逻辑语句比编写新的模板文件更完美。事实上,您在示例代码中所做的已经存在于TweentyTwelve等主题中。但是,如果您认为将来可能需要不同的HTML代码结构,最好将模板文件分开。所以,想一想;看看你们是否只需要为页面设置一个不同的标题,然后imho,若语句很好的话。

相关推荐

Search CPT by tag ids

我需要按标记ID搜索自定义帖子类型。我创建了一个帖子类型,即;“gampu”;。在这个帖子类型中,我注册了5个标签分类法,如“fitting”、“adapter”、“type”、“volume”和“gaki”。现在,管理员可以在此标记分类法中创建许多标记,当管理员创建任何帖子时,他们将从所有这5个注册标记分类法中选择标记。在前端,我想添加标签过滤器。当用户选择(复选框)标签并单击搜索时,我只需要获取那些由标签ID关联的帖子。我尝试了下面的代码,但它对我不起作用。 $args =