主题中的unctions.php是否适用于所有模板?

时间:2020-07-10 作者:allenskd

我已经读了一段时间主题开发人员手册,也许最后我遇到了太多关于wordpress主题开发的问题。我已经很长时间没有在C#/Java背景下进行任何主题/php开发了。

我想我只是想在开始使用wordpress之前有一个清晰的认识,这就是我想做的:

为主站点创建一个页面,并将其设置为main,只查询一个类别。我想一个主题的功能就像前/后过滤器/挂钩的控制器

  • 创建另一个页面,但只允许某些自定义帖子类型,这一切都会通过函数完成。主题的php
  • 1 个回复
    最合适的回答,由SO网友:Jacob Peattie 整理而成

    Is功能。php主题应用于所有模板?

    主题的功能。是的,每个请求都会加载php。

    我想象一个主题的功能就像前/后过滤器/挂钩的控制器?

    主题的功能。php只是一个主题运行它想要的任何php代码的入口点。您可以看到在加载序列中加载的时间here. 它没有正式的结构,但通常只包含定义函数和hooks 他们我建议查看默认主题以查看一个非常标准的示例。

    关于你要做的事情:

    为主站点创建一个页面,并将其设置为主站点,并且仅查询类别

    我不知道你说的“什么意思”;“主要”;在这里我想你指的是头版。如果希望头版是特定类别的帖子列表,请在“设置”中;阅读将头版设置为最新帖子。主题将根据template hierarchy 以及主题中的可用内容。

    如果您想将主页上的最新帖子列表更改为仅包含特定类别的帖子,那么您可以使用pre_get_posts 钩子将默认查询修改为仅查询特定类别。例如:

    add_action(
        \'pre_get_posts\',
        function( WP_Query $query ) {
            if ( ! is_admin() && $query->is_home() ) {
                $query->set( \'category_name\', \'news\' ); // Replace news with the slug of the category you want to use.
            }
        }
    );
    
    您可以添加、更改或删除的查询属性的完整列表已记录在案here.

    创建另一个页面,但仅允许某些自定义帖子类型

    我不清楚这会是什么,但正确地做会更加复杂。我建议,一旦你掌握了以上内容,就把这篇文章贴出来,因为这是你自己的问题,有更多的细节。

    相关推荐