Intereting Posts
Интеграция API конверсии валюты в разработке пользовательских плагинов WordPress заменяет все разрывы строк в комментариях с помощью «rn» Вытягивание сообщений в статический сайт (wordpress в качестве подкаталога) Используйте одну установку WP вместо трех Добавление хороших параметров запроса Удаление h3s в выводе? поиск также в таксономии, тегах и настраиваемых полях Зачем нужно четыре попытки сбросить пароль, чтобы наконец получить электронное письмо? как изменить ссылку на некоторые страницы wordpress Пользовательские поля родительского ребенка с расширенными настраиваемыми полями плагин не будет предлагать обновление, даже если доступна новая версия Регистрация таксономии тэгов для настраиваемого типа сообщения Все мои файлы находятся в моем блоге! Мне нужно решение синхронизации Аутентифицированный запрос WP REST API V2, возвращающий ошибку 403 на / users / me Настройка URL-адреса входа в WordPress

Связанные должности: изменение функции для сообщений на странице

Я работаю над dailysuit.de, который содержит 8 статей, связанных с содержанием, в каждом сообщении, определяемом некоторыми тегами.

Теперь я хотел уменьшить количество «сообщений на страницу» с 8 до 4. Конечно, я могу легко достичь этого, изменив функцию functions.php, но как только тема получит обновление, цифра вернется к 8.

Итак, я хотел изменить функцию и добавить ее в функции child.php дочерней темы:

/* Related posts */ function longform_the_related_posts_change() { global $post; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) { $tag_ids[] = $individual_tag->term_id; } $args = array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'posts_per_page' => 4, // Number of related posts to display. 'ignore_sticky_posts' => 1 ); $my_query = new wp_query( $args ); ?> <h2 class="related-articles-title"><?php _e( 'Related articles', 'longform' ); ?></h2> <div class="related-articles"> <?php while( $my_query->have_posts() ) { $my_query->the_post(); ?> <div class="related-thumb col-sm-3 col-md-3 col-lg-3"> <a rel="external" href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(array(500,350)); ?> <div class="related-content"> <h2><?php the_title(); ?></h2> </div> </a> </div> <?php } ?> <div class="clearfix"></div> </div> <?php } wp_reset_postdata(); wp_reset_query(); } add_filter( 'longform_the_related_posts', 'longform_the_related_posts_change' ); 

К сожалению, это не сработало. Он по-прежнему показывает 8 записей сообщений вместо 4, которые я ввел на странице posts_per_page.

Кто-нибудь знает, что там не так? Или есть более простой / короткий способ без копирования всего этого кода?

Я также попробовал вещь remove_filter, о которой упоминалось, но это тоже не сработало.

 longform_the_related_posts_child () { remove_filter('longform_the_related_posts'); add_filter('longform_the_related_posts', array( 'longform_the_related_posts_filter' => 'longform_the_related_posts', 'posts_per_page' => 4, ) ); } 

Solutions Collecting From Web of "Связанные должности: изменение функции для сообщений на странице"

Я просмотрел ваш код и обнаружил, что функция longform_the_related_posts отображает 8 связанных сообщений. Эта функция определена в functions.php родительской темы и вызывается в single.php.

Таким образом, чтобы переопределить функцию, выполните следующие шаги:
1. Создайте еще одну функцию, которая отображает 4 связанных сообщения в functions.php дочерней темы. (Поскольку вы уже создали функцию longform_the_related_posts_change() )
2. Скопируйте файл single.php из родительской в single.php тему и замените строку 47

Из

 echo longform_the_related_posts(); 

к

 echo longform_the_related_posts_change(); 

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

Вышеприведенный код выглядит нормально. Я думаю, причина, по которой вы получаете 8 сообщений вместо 4, состоит в том, что у вас все еще есть код, который извлекает 8 сообщений в functions.php родительской темы.

Попробуйте удалить фильтр родительской темы в дочерней теме. Как это –

 remove_filter('<filter_name>','<function_name>'); 

Таким образом, функция родительских тем не будет действовать, и код детской темы будет работать.

Для получения дополнительной информации об remove_filter – https://codex.wordpress.org/Function_Reference/remove_filter

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