WordPress – Как добавить привязку к ссылкам предыдущей / следующей страницы

У меня есть галерея в верхней части моей темы WordPress, и сообщения в блоге находятся ниже нее. Каждый раз, когда я перехожу на следующую страницу, он выходит на верх, чего я не хочу. Я хотел бы добавить якорь под названием #blog чуть ниже галереи и добавить его к ссылкам предыдущей / следующей страницы. Где в коде я должен помещать #blog для выполнения этой работы?

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

Якорям можно ссылаться как теги <a> с атрибутом name или почти любым тегом с атрибутом id . Я бы сказал, что большинство тем WordPress уже имеют якорь, который вы можете использовать в #content . Перейдите к любой из ваших сообщений в блоге и просмотрите исходный код. Найдите id="content" в исходном коде и убедитесь, что он существует. Если это не так, найдите id где находится ваш фактический пост, и вы можете использовать его. Если вы не можете найти его, вам нужно его создать.

В файлах темы WordPress найдите файл с именем single.php . Обычно это файл, который определяет, как обрабатываются отдельные сообщения. Это файл, который вы отредактируете для добавления привязки (при необходимости) и отредактируйте ссылки.

Если вы не смогли найти id для использования (будь то «контент» или что-то еще), вам нужно найти, где ваш контент вызывается для вывода, и добавить id к тому, что HTML-тег обернут вокруг него.

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

 <div id="primary"> <div id="content"> <?php while ( have_posts() ) : the_post(); ?> <div class="entry-content"> <?php the_content(); // this is your post content ?> </div><!-- .entry-content --> <?php endwhile; // end of the loop. ?> </div> </div> 

Существует множество способов вывода ссылки, поэтому она действительно зависит от темы и версии WordPress. В файле single.php найдите функции, связанные с «next_post» и «previous_post». Большинство функций, используемых для создания ссылок, автоматически записывают для вас весь тег ссылки ( <a> ), поэтому невозможно перехватить ссылку и изменить ее.

Вам нужно будет написать ссылки самостоятельно. В приведенном ниже коде показано, как получить информацию и создать ссылки. Предполагается, что вы будете использовать id="content" качестве ссылки на привязку.

  <?php $prev_post = get_previous_post(); if (!empty( $prev_post )): ?> <a href="<?php echo get_permalink( $prev_post->ID ); ?>#content"><?php echo $prev_post->post_title; ?></a> <?php endif; ?> <?php $next_post = get_next_post(); if (!empty( $next_post )): ?> <a href="<?php echo get_permalink( $next_post->ID ); ?>#content"><?php echo $next_post->post_title; ?></a> <?php endif; ?> 

Это должно создать ссылки, которые вы ищете, которые автоматически перескакивают страницу за изображениями и к сообщению.