X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Ошибка 404 в пагинации тегов
toorr2p
toorr2p
Topic Starter сообщение 14.10.2016, 7:36; Ответить: toorr2p
Сообщение #1


Здравствуйте! Помогите понять причину 404 ошибки при переходе на 2, 3, 4 ... 20 страницы при пагинации тега

для оформления пагинации в стиле бутсрапп использую не стандартную функцию:

/*** PAGINATION ***/
function wp_corenavi() {
global $wp_query;
$pages = '';
$max = $wp_query->max_num_pages;
if (!$current = get_query_var('paged')) $current = 1;
$a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
$a['total'] = $max;
$a['current'] = $current;

$total = 1; //1 - выводить текст "Страница N из N", 0 - не выводить
$a['mid_size'] = 3; //сколько ссылок показывать слева и справа от текущей
$a['end_size'] = 1; //сколько ссылок показывать в начале и в конце
$a['prev_text'] = '«'; //текст ссылки "Предыдущая страница"
$a['next_text'] = '»'; //текст ссылки "Следующая страница"

if ($max > 1) echo '<div class="over"><ul class="pagination">';
if ($total == 1 && $max > 1) //$pages = '<span class="pages">Страница ' . $current . ' из ' . $max . '</span>'."\r\n";
echo str_replace("</span>", "</span></li>", str_replace("<span", "<li class=\"active\"><span", str_replace("</a>", "</a></li>", str_replace("<a", "<li><a", paginate_links($a)))));

paginate_links($a);

if ($max > 1) echo '</ul></div>';
}
/*** END PAGINATION ***/

также у меня есть 2 нестандартных типов записей (post_type) : video и robo_gallery_table

пробовал в этом направлении, но  не помогло:

function category_set_post_types( $query ){
if( is_tag() && is_paged() ):
//print_r($query);
//die();
//$query->set( 'post_type', 'post' );
$query->set( 'post_type', 'any' );
//$query->set( 'post_type', array('post', 'any', 'video', 'robo_gallery_table') );
endif;
return $query;
}
add_action( 'pre_get_posts', 'category_set_post_types' );

Вот пример такой страницы http://podvoh.tv/tag/video-podvodnaya-oxota-2016/ с 200
а вот уже 404 http://podvoh.tv/tag/video-podvodnaya-oxota-2016/page/3/

В прикрепленных файлах распечатаны объекты $query я их сохранил для сравнения, но в них разница только в наличии paged для страницы у которой 404


Сообщение отредактировал Вячеслав - 14.10.2016, 7:38
Прикрепленные файлы
Прикрепленный файл  404.txt ( 4,82 килобайт ) Кол-во скачиваний: 57
Прикрепленный файл  200.txt ( 4,79 килобайт ) Кол-во скачиваний: 72
 
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 13.9.2017, 10:50; Ответить: toorr2p
Сообщение #2


Эххх, ну где же вы гуру WP?
Что ни кто не знает даже примерно в какую сторону копать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AKharitonov
AKharitonov
сообщение 14.9.2017, 8:07; Ответить: AKharitonov
Сообщение #3


Вячеслав, смотрел сейчас с телефона, может быть не до конца правильно понял причину, но по-моему дело кроется именно в query. Вот здесь Кама как раз пишет, что может ломаться пагинация: https://wp-kama.ru/function/query_posts
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sosnovskij
sosnovskij
сообщение 14.9.2017, 13:34; Ответить: sosnovskij
Сообщение #4


Вячеслав, у него же есть свой вариант пагинации https://wp-kama.ru/id_8/alternativa-wp-page...-ili-keshu.html . Ее посоветовали в твиттере.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 14.9.2017, 21:13; Ответить: toorr2p
Сообщение #5


Спасибо что ответили!

Не помогает его функция, она вообще не вводит ничего... Проверял, запускается но навигацию не выводит.

В этой статье указывается что появилась стандартная функция <?php the_posts_pagination(); ?>

Ну вот я ее использовал, она вывела те же ссылки на страницы /page/2/ и т.п При переходе на которые я получаю 404 !!!

Дело не в функции видимо, а в чем то другом... и я не знаю в чем..

файл страницы выводящей список постов по тегу находится в папке темы сайта и называется tag.php

<?php
/*
Template Name: Page Front
*/
?>
<?php get_header(); ?>

<?php
global $wp_query;

$tag_id = get_query_var('tag_id');
$term = &get_tag( $tag_id );

//debug($term);
//die();
?>

<div class="container-fluid browse-page browse-page-tag"><!-- START content-block (end from footer.php) -->


<div class="row">
<div class="col-lg-12">
<article>
<h1><?php echo mb_ucfirst(single_tag_title()); ?></h1>
<div class="plusone"><div class="g-plusone" data-size="small" data-annotation="inline" data-width="300"></div></div>
<p class="clr"></p>
<br/>
</article>
</div>
</div>

<!-- Widjet List top banner -->
<?php /*if(is_active_sidebar('list-top')): ?>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<?php dynamic_sidebar('list-top'); ?>
</div>
</div>
<?php endif;*/ ?>
<!-- END Widjet List top banner -->


<?php if($term): ?>

<?php
$args = array(
'post_type' => array('video', 'post'),
'tax_query' => array(
array(
'taxonomy' => 'post_tag',
'field' => 'slug',
'terms' => $term->slug
)
),
'order' => 'DESC',

//order by date publish in youtube
//'orderby' => 'meta_value_num',
//'meta_key' => 'DaydatePublished',
//'meta_key' => 'MonthdatePublished',
//'meta_key' => 'YeardatePublished',

//'orderby' => array( 'meta_value_num' => 'ASC'),
//'meta_key' => 'YeardatePublished',

'post_status' => 'publish',
'posts_per_page' => 20,
'paged' => get_query_var('paged')
);

//$wp_query = query_posts($args);
$wp_query = new WP_Query($args);
?>

<div class="row">
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

<?php //the_content(); ?>
<?php get_template_part( 'content', 'tag' ); ?>
<?php endwhile; ?>
</div>



<div class="row">
<div class="col-lg-12">
<div class="tag_description">
<?=tag_description($tag_id);?>
</div>
</div>
</div>



<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">


<?php the_posts_pagination(); ?>

<?php //wp_reset_query(); ?>
<?php //if (function_exists('wp_corenavi')) wp_corenavi(); ?>


<?php echo kama_pagenavi(); ?>
<?

if(function_exists('wp_pagenavi')) {
wp_pagenavi( '<center>', '</center>' );
}

?>

</div>
</div>



<?php endif; ?>


<!-- Widjet Video Bottom -->
<?php if(is_active_sidebar('video-bottom')): ?>
<?php dynamic_sidebar('video-bottom'); ?>
<?php endif; ?>
<!-- END Widjet Video Bottom -->

<?php get_footer(); ?>

https://podvoh.tv/tag/podvodnaya-oxota-vide...novinki/page/2/

вот по таким адресам 404 ...
может нужно что то а .htaccess прописать? Хотя блин это ж все стандартный функционал, элементарно вывести список постов по тегу с постраничной навигацией..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
TimurR
TimurR
сообщение 15.9.2017, 1:48; Ответить: TimurR
Сообщение #6


Что там по постоянным ссылкам? Стоит какой-либо SEO плагин? 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 15.9.2017, 11:38; Ответить: toorr2p
Сообщение #7


TimurR,  

Вот все то что стоит:

Yet Another Related Posts Plugin
WP-RecallWP-PostViews
WP-Mail-SMTP
WP Super Minify
WP Memcached Manager
WP Admitad GoodsVideo
UpdraftPlus - Backup/Restore
Subscribe2
Social Login
SitemapSearch & Replace
RusToLatRobo Gallery
Rich Text Tags, Categories, and TaxonomiesNinjaFirewall (WP Edition)
Login-LogoutImage Watermark
Hyper CacheGoogle XML Sitemaps
Google Captcha (reCAPTCHA) by BestWebSoft
EC Stars RatingDisable / Hide Comment URL
Contact Form 7


По постоянным ссылкам вот так:  https://yadi.sk/i/GUbvjPw83MuTFr
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 1.10.2017, 15:32; Ответить: toorr2p
Сообщение #8


Помог автор на WP-KAMA.RU https://wp-kama.ru/id_8/alternativa-wp-page...9#comment-21118

Прописал стандартный  код в файл tag.php (взял из темы twentyfourteen) но не выводились записи.

После чего Добавил в обработчик в functions.php

add_action( 'pre_get_posts', 'action_function_query' );
function action_function_query( $query ) {
if($query->is_tag){
$query->set( 'post_type', array('video', 'post') );
$query->set( 'order', 'DESC' );
$query->set( 'post_status', 'publish' );
$query->set( 'posts_per_page', 20 );
}
}

И заработало со стандартным кодом tag.php https://podvoh.tv/tag/podvodnaya-oxota-vide...novinki/page/3/


Спасибо всем огромное! Долго не мог решить данную ошибку!



Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Ищу копирайтера для написания тегов Title и Description
По готовому семантическому ядру
2 eduarddis 1459 10.8.2020, 20:51
автор: artek
Открытая тема (нет новых ответов) Каталог открывается как ошибка 404 в hostcms
0 cheshire 3272 2.7.2018, 11:09
автор: cheshire
Открытая тема (нет новых ответов) Tags meta v3 - модуль seo оптимизации тегов для dle
0 PunPun 1445 14.8.2017, 15:24
автор: PunPun
Открытая тема (нет новых ответов) Иерархия html тегов
Нубский вопрос
6 4ip 3899 13.7.2014, 8:58
автор: x64
Открытая тема (нет новых ответов) Учусь создавать шаблон для Joomla 2.5 Ошибка в файле index.php
3 Musicathome 6647 26.7.2013, 20:20
автор: -Сабж-


 



RSS Текстовая версия Сейчас: 25.4.2024, 14:17
Дизайн