В файле шаблона дочерней темы WordPress нет тега <h1>

На таких страницах, как страница автора на нашем сайте WordPress, отсутствует тег. Поскольку страницы рендерятся шаблоном index.php по умолчанию, я ищу способ добавить в него тег. Ниже находится index.php. Тестовый код, например, echo $thumb. $ альтернативный текст; похоже, не работает не потому, что переменная не содержит никакого значения, а сам код не работает.

<?php get_header(); ?>

<div id = "main-content">
    <div class = "container">
        <div id = "content-area" class = "clearfix">
            <div id = "left-area">
        <?php
            if ( have_posts() ) :
                while ( have_posts() ) : the_post();
                    $post_format = et_pb_post_format(); echo $post_format; ?>

                    <article id = "post-<?php the_ID(); ?>" <?php post_class( 'et_pb_post' ); ?>>

                <?php
                    $thumb = '';

                    $width = (int) apply_filters( 'et_pb_index_blog_image_width', 1080 );

                    $height    = (int) apply_filters( 'et_pb_index_blog_image_height', 675 );
                    $classtext = 'et_pb_post_main_image';
                    $titletext = get_the_title();
                    $alttext   = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
                    $thumbnail = get_thumbnail( $width, $height, $classtext, $alttext, $titletext, false, 'Blogimage' );
                    $thumb     = $thumbnail["thumb"];

                    echo $thumb . $alttext;

                    et_divi_post_format_content();

                    if ( ! in_array( $post_format, array( 'link', 'audio', 'quote' ) ) ) {
                        if ( 'video' === $post_format && false !== ( $first_video = et_get_first_video() ) ) :
                            printf(
                                '<div class = "et_main_video_container">
                                    %1$s
                                </div>',
                                et_core_esc_previously( $first_video )
                            );
                        elseif ( ! in_array( $post_format, array( 'gallery' ) ) && 'on' === et_get_option( 'divi_thumbnails_index', 'on' ) && '' !== $thumb ) : ?>
                            <a class = "entry-featured-image-url" href = "<?php the_permalink(); ?>">
                                <?php print_thumbnail( $thumb, $thumbnail["use_timthumb"], $titletext, $width, $height ); ?>
                            </a>
                    <?php
                        elseif ( 'gallery' === $post_format ) :
                            et_pb_gallery_images();
                        endif;
                    } ?>

                <?php if ( ! in_array( $post_format, array( 'link', 'audio', 'quote' ) ) ) : ?>
                    <?php if ( ! in_array( $post_format, array( 'link', 'audio' ) ) ) : ?>
                        <h2 class = "entry-title"><a href = "<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                    <?php endif; ?>

                    <?php
                        et_divi_post_meta();

                        if ( 'on' !== et_get_option( 'divi_blog_style', 'false' ) || ( is_search() && ( 'on' === get_post_meta( get_the_ID(), '_et_pb_use_builder', true ) ) ) ) {
                            truncate_post( 270 );
                        } else {
                            the_content();
                        }
                    ?>
                <?php endif; ?>

                    </article>
            <?php
                    endwhile;

                    if ( function_exists( 'wp_pagenavi' ) )
                        wp_pagenavi();
                    else
                        get_template_part( 'includes/navigation', 'index' );
                else :
                    get_template_part( 'includes/no-results', 'index' );
                endif;
            ?>
            </div>

            <?php get_sidebar(); ?>
        </div>
    </div>
</div>

<?php

get_footer();

Я не уверен, что понимаю вашу проблему. DIVI — это конструктор тем, вам никогда не придется редактировать его файлы. просто создайте дочернюю тему (Elegantthemes.com/blog/divi-resources/divi-child-theme), затем все шаблоны создаются/редактируются с помощью Divi Visual Builder (Divi > Theme builder).

Dexter0015 08.11.2022 17:48

Спасибо за эту полезную информацию. Я создал дочернюю тему и скопировал в нее index.php, чтобы отредактировать ее. Позвольте мне сначала объяснить мое требование. На страницах, подобных этой infinityinvesting.com/author/avincent, отсутствует тег <h1>, что плохо для SEO. Чтобы добавить <h1>, я искал шаблон, используемый для отображения этой авторской страницы, пока не выяснил, что шаблон был index.php. Но содержимое в этом файле выше. Еще одна незначительная проблема заключается в том, что оператор echo ничего не печатает, и я не вижу причин, по которым это не так.

Pramod Gangadar 10.11.2022 08:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я постараюсь быть немного более точным в своем ответе, чтобы комментарий позволил мне :)

Если вы хотите настроить свой шаблон или создать собственный, в Wordpress у вас есть 3 возможности:

1 - НЕПРАВИЛЬНЫЙ путь

Вы напрямую редактируете файлы шаблонов в своей теме.

Почему это неправильно? Поскольку шаблон, как и плагины, регулярно обновляется, поэтому, если вы напрямую редактируете файлы своего шаблона, вы рискуете потерять все свои настройки при обновлении.

Чтобы избежать этого, вы можете создать то, что мы назвали «дочерней темой» в Wordpress.

2 - Создать дочернюю тему

Проще говоря, это хорошее решение, позволяющее избежать проблемы, возникающей в пункте 1;)

Дочерняя тема наследует функции родительской темы и позволяет вам вносить в нее некоторые настройки/дополнения без риска ее потери (поскольку при обновлении родительской темы дочерняя тема не затрагивается).

Вот полное руководство по принципу: https://developer.wordpress.org/themes/advanced-topics/child-themes/

Примечание: imoo это требует определенного уровня знаний в PHP, потому что неправильное изменение может сломать ваш сайт.

3 - Использование конструктора тем

Это ваш случай: на вашем сайте установлена ​​тема DIVI, которая позволяет вам настраивать тему и создавать собственные шаблоны без каких-либо (или, по крайней мере, нескольких) навыков в разработке.

Вот почему он называется «конструктор тем». Вот некоторые из них: Divi, Elementor, ...

Опять же, в этом случае вы можете напрямую использовать основную тему или создать дочернюю тему (что настоятельно рекомендуется).

При этом (написал), возвращаясь к вашей ситуации, вы обнаружили, что файл, который вам нужно отредактировать, - это «index.php». Сомневаюсь, потому что это страница автора, так что скорее "author.php"

Почему?

Потому что на самом деле ВСЕ страницы обрабатываются файлом «index.php», поскольку это центральный файл шаблона, но если в вашей теме существует шаблон, соответствующий типу контента, он будет использоваться вместо него (index.php — это просто запасной вариант). если ваша тема не включает пользовательский файл для какого-либо конкретного случая).

См. эту статью для получения дополнительной информации об иерархии шаблонов: https://developer.wordpress.org/themes/basics/template-hierarchy/

НО, поскольку вы используете конструктор тем, вам не нужно редактировать эти файлы.

Поскольку вы используете Divi, я предлагаю вам посмотреть несколько руководств о том, как на практике работает конструктор тем.

Короче говоря, внутри интерфейса конструктора шаблонов Divi вы можете создавать шаблоны, которые вы можете применить к любому типу контента.

Это видео должно направить вас в правильном направлении: https://www.elegantthemes.com/documentation/divi/the-divi-theme-builder/

Надеюсь, это поможет.

Спасибо, это помогает мне приблизиться к решению.

Pramod Gangadar 10.11.2022 16:34

Знаете ли вы, почему некоторый тестовый код даже после удаления и очистки кеша с помощью WP Rocket все еще присутствует на сайте? Я вношу изменения в сайт разработки WordPress.

Pramod Gangadar 11.11.2022 11:57

Трудно сказать, не зная точно, как настроен ваш сайт и сервер. Это может быть еще один плагин, который генерирует кеш вашего браузера (особенно для файлов css или js). Может быть, попробовать посетить ваш сайт, используя режим конфиденциальности в вашем браузере?

Dexter0015 12.11.2022 10:53

Другие вопросы по теме