【问题标题】:Overwrite the Genesis single page template?覆盖创世纪单页模板?
【发布时间】:2016-06-22 10:49:04
【问题描述】:

我不得不使用一个使用 genesis 子主题的网站,并且想要覆盖默认的单个帖子布局。我创建了一个新的 single.php 文件,我已将其升级到 childtheme,但 genesis 似乎没有任何文件!?

我尝试通过子主题functions.php 取消设置默认的single.php 文件,但这同样没有任何效果。

谁能告诉我如何废弃默认页面模板并将其替换为我自己的?

【问题讨论】:

  • 你会在这里得到一个快速的答案:wordpress.stackexchange.com - 但是,因为它是一个预先构建的主题,据我所知,你实际上无法编辑它:如果你这样做,当更新到来时无论如何,你的文件都会被覆盖!
  • 子主题不受更新影响。有许多钩子和过滤器可以将单页模板更改为任何布局。在 my.studiopress.com 上阅读您的 Genesis 文档

标签: php wordpress genesis


【解决方案1】:

Genesis 是一个出色的框架,但文档的某些部分可能有些欠缺。如果您想自定义您的单个帖子模板,您可以执行以下操作

在您的子主题文件夹中创建一个名为 single.php 的文件 确保此文件中的最后一行如下:

起源();

使用 Genesis 主题挂钩和过滤器来操作您的标记。视觉主题钩子指南是一个很好的资源。见:https://genesistutorials.com/visual-hook-guide/

所以,如果你想修改条目内容,你可以这样做:

remove_action('genesis_entry_content', 'genesis_do_post_content');
add_action( 'genesis_entry_content', 'custom_entry_content' ); // Add custom loop

function custom_entry_content() {
    //Custom Entry Content
}

这只是修改代码的起点,但有许多有用的钩子和过滤器。 Genesis 中的所有标记修改都是通过钩子和过滤器处理的,因此,例如,如果您尝试更改帖子元数据,则会有一个过滤器。

【讨论】:

    【解决方案2】:

    如果你用你自己的覆盖了子主题中的single.php文件,请确保以该行结束新的single.php文件 genesis(); 否则,查看单个帖子时会出现空白页。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2019-03-27
      • 2020-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多