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






Я постараюсь быть немного более точным в своем ответе, чтобы комментарий позволил мне :)
Если вы хотите настроить свой шаблон или создать собственный, в 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/
Надеюсь, это поможет.
Спасибо, это помогает мне приблизиться к решению.
Знаете ли вы, почему некоторый тестовый код даже после удаления и очистки кеша с помощью WP Rocket все еще присутствует на сайте? Я вношу изменения в сайт разработки WordPress.
Трудно сказать, не зная точно, как настроен ваш сайт и сервер. Это может быть еще один плагин, который генерирует кеш вашего браузера (особенно для файлов css или js). Может быть, попробовать посетить ваш сайт, используя режим конфиденциальности в вашем браузере?
Я не уверен, что понимаю вашу проблему. DIVI — это конструктор тем, вам никогда не придется редактировать его файлы. просто создайте дочернюю тему (Elegantthemes.com/blog/divi-resources/divi-child-theme), затем все шаблоны создаются/редактируются с помощью Divi Visual Builder (Divi > Theme builder).