У меня есть галерея в верхней части моей темы 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; ?>
Это должно создать ссылки, которые вы ищете, которые автоматически перескакивают страницу за изображениями и к сообщению.