куда положить заполненный заголовок html & css в файлы Wordpress php - PullRequest
0 голосов
/ 06 марта 2020

Я много часов изучал и не понимаю, как 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. Какой тип файла это go в или я создаю не php и затем как-то ссылаюсь на этот файл в этой функции php, показанной выше?

Спасибо за чью-либо помощь. Кажется, я пропускаю несколько шагов.

1 Ответ

1 голос
/ 06 марта 2020

Возможно, вы захотите тщательно изучить документацию Theme Development & Standards и документацию Child Themes . Тем не менее, существует огромное количество информации, которую нужно переварить, поэтому я понимаю, насколько это может быть пугающе.

Относительно того, «как WordPress находит и использует ваш альтернативный заголовок» - это просто нативная часть get_header() функция. Если вы оставите его пустым или передадите ему недопустимое значение, он загрузит файл по умолчанию header.php. Если вы передадите ей строку 'about', она попытается загрузить header-about.php и возвратится к header.php, если не сможет ее найти.

Также обратите внимание, что рассматриваемый заголовок отличается от wp_head() основное использование для которого заключается в загрузке скриптов или данных в тег <head>, который должен стоять перед вашим <header> или <div id="header"> (menu / lo go, et c. ) введите output.

Если вы используете дочернюю тему, вместо клонирования page.php из родительской темы будет использоваться версия дочерней темы, и вы можете безопасно вносить в нее изменения. То же самое с header.php, header-about.php или любыми другими файлами. Вам нужно только клонировать page.php от родителя, если именно там вызывается get_header() (это может варьироваться в зависимости от того, как была создана и структурирована родительская тема)

Любой CSS, используемый для форматирования альтернативы заголовок должен по-прежнему находиться внутри вашего style.css (или style-about.css аналогичного) файла и в правильном порядке с использованием функции wp_enqueue_style на крюке wp_enqueue_scripts.

Весь структурный код (PHP / HTML) для заголовка about должен быть помещен в header-about.php, который, вероятно, должен начинаться как копия header.php, если есть какие-либо структурные функции или код, если есть что-то еще Остальная часть темы / макета сайта зависит от этого.

Вот несколько примеров того, как могут выглядеть ваши файлы:

child-theme / 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`
?>

child-theme / 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' );            
        }
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...