【问题标题】:where to put completed html & css header in Wordpress php files将完成的 html 和 css 标头放在 Wordpress php 文件中的位置
【发布时间】:2020-03-07 04:56:31
【问题描述】:

我已经研究了几个小时,但不明白 Wordpress 将如何找到和使用我的备用标题。

这是一个好的开始:

<!--?php /* */ if(is_page(23)) { get_header('about'); } else { get_header(); } wp_head(); ?-->

...向我展示如果在第 23 页我希望 Wordpress 插入我的标题而不是默认标题,那么这将启动该过程。

1 - 我创建了一个主题的子项,我是否在子项中创建(克隆)page.php 文件并将这段代码放入其中?

2 - 这表示我创建了一个“新”文件 - 我认为一个 php 将包含我的备用标题的所有信息。如果是这样,我怎样才能将 html 和 css 的格式转换为 php?我的备用标题有文本、两个图像和 css 格式。那会进入什么样的文件,或者我创建一个非 php,然后在上面显示的那个 php 函数中以某种方式引用该文件?

感谢任何人的帮助。好像我错过了几个步骤。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请尝试对其进行编辑以改进格式。您可以在此处查看帮助页面:stackoverflow.com/editing-help
  • 您无需对page.php 执行任何操作。您需要创建/克隆header.php 并将其命名为header-about.php。这样,如果您在 ID 为 23 的页面上,它将使用 header-about.php 文件。您可以将此代码放在“page.php”中 get_header() 当前所在的位置。
  • 好的,感谢您的快速回复。但是...我在哪里插入代码 sn-p 让 Wordpress 知道我想交换标题?并且...如何获取用于第二个标头的 html 和 css 信息...如何将其放入此“新”标头?如果第二个头是一个php文件,它如何处理这个html和css信息?
  • 那会是父母的 page.php,还是我也应该为孩子创建一个?

标签: php html css wordpress


【解决方案1】:

您可能希望对Theme Development & Standards 文档和Child Themes 文档进行全面审查。不过要消化的信息量很大,所以我知道这有多么令人生畏。

关于“WordPress 如何查找和使用您的备用标题” - 它只是 get_header() 函数的原生部分。如果将其留空或传递无效值,它将加载默认的header.php 文件。如果你将字符串 'about' 传递给它,它会尝试加载 header-about.php,如果找不到它会回退到 header.php

还请注意,有问题的标头不同于 wp_head(),其主要用途是将脚本或数据加载到 &lt;head&gt; 标记中,该标记应位于您的 &lt;header&gt;&lt;div id="header"&gt; 之前(菜单/徽标等)类型输出。

如果您使用的是子主题,则从父主题克隆 page.php 将使用子主题的版本,您可以在那里安全地对其进行修改。与header.phpheader-about.php 或任何其他文件相同。如果调用了get_header(),则只需要从父级克隆page.php(这可能因父主题的创建和结构方式而异)

任何用于格式化备用标题的 CSS 仍应放置在您的 style.css(或 style-about.css 类似)文件和 Properly Enqueued 中,使用 wp_enqueue_style 钩子上的 wp_enqueue_style 函数。

about 标头的所有结构代码 (PHP/HTML) 都应该放在 header-about.php 中,如果有任何结构函数或代码,如果还有其他任何东西,它可能应该作为 header.php 的副本开始的主题/网站布局依赖于那里。

以下是一些文件外观示例:

子主题/page.php

<?php
    // Anything early-on in the parent theme's `page.php`

    // Load `about` on page 23, otherwise default
    // Ternary operatory for brevity
    get_header( is_page(23) ? 'about' : null );

    // Rest of `page.php`
?>

子主题/functions.php

<?php
    add_action( 'wp_enqueue_scripts', 'so60570540_enqueue_assets' );
    function so60570540_enqueue_assets(){
        wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array(), '1.0' );

        if( is_page( 23 ) ){
            wp_enqueue_style( 'child-about', get_stylesheet_directory_uri() . '/style-about.css', array('child-style'), '1.0' );            
        }
    }
?>

【讨论】:

  • 很好,彻底的答案。谢谢!我会一点一点地跟着它,看看我会从哪里出来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-03
  • 1970-01-01
  • 2010-09-16
  • 2011-11-09
相关资源
最近更新 更多