Myvi

Рейтинг
17
Регистрация
12.12.2016
totamon:
почему бы в этом случае не загрузить авторов темы на исправление ошибок?

Тема покупалась почти 2 года назад. Сомневаюсь, что там даётся такая гарантия. В любом случае, как вы и сказали, проще заплатить программисту, чем добиться от авторов темы чего-нибудь.

Я, честно говоря, рассчитывал, что проблема не сильно серьёзная и её можно решить с помощью топика :)

SeVlad:
wpmag.ru/2014/query_posts-wordpress/
Её использование в теме может быть опасно. Её наличие в теме говорит что тема либо очень древняя, либо опасный самопис (какие ещё дыр и др сюрпризов там наворотили..).
И, кстати, именно из-за неё проблемы с пагинацией достаточно часты.

Не знаю, показатель ли это качества, но тема была куплена на Twenties. Чтобы вы посоветовали в этом случае?

Кстати, хотелось бы добавить описание проблемы. При нажатии на «Загрузить ещё статей» в рубрике, добавляются правильные статьи. Т.е. только статьи, с этой рубрики.

А вот по меткам (тэги), после нажатия на «Загрузить ещё статей», подгружаются статьи с главной страницы, точнее те, что находятся на site.ru/page/2/. Хотя должны загружаться с site.ru/tag/page/2/.

Можно ли исправить эту проблему?

SeVlad:
Вот уже это говорит, что тему надо в помойку.

Могу я попросить вам пояснить?

GlebEGA:
Скоро помимо AMP еще и Яшкин формат придется пилить: /ru/news/44488

Как я понял, у них несколько проще всё будет

SeVlad:
Это делает тема. Точнее её шаблон - рубрики или метки или чего там надо.

Я ещё пойму, когда постарничка не работает, но чтобы на остальных страницах был другой вывод..
Показывай что ли сайт (на форум, не в личку).

Не нашёл ни шаблона рубрики, ни шаблона метки :(

---------- Добавлено 25.05.2017 в 17:19 ----------

melkozaur:
Это наверное Джетпак глючит :)
А вообще надо файл темы смотреть, archive.php или какой-то подобный.

Файл archive.php выглядит так:

<?php


get_header(); ?>

<div id="primary" class="content-area clr">
<div id="content" class="site-content left-content clr" role="main">
<header class="archive-header clr">
<h1 class="archive-header-title"><?php
if ( is_day() ) :
printf( __( 'Daily Archives: %s', 'wpex' ), get_the_date() );
elseif ( is_month() ) :
printf( __( 'Monthly Archives: %s', 'wpex' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'wpex' ) ) );
elseif ( is_year() ) :
printf( __( 'Yearly Archives: %s', 'wpex' ), get_the_date( _x( 'Y', 'yearly archives date format', 'wpex' ) ) );
else :
echo single_term_title();
endif;
?></h1>
<?php
// Breadcrumbs
wpex_display_breadcrumbs(); ?>
<?php if ( term_description() ) { ?>
<div class="archive-description clr">
<?php echo term_description(); ?>
</div><!-- #archive-description -->
<?php } ?>
</header><!-- .archive-header -->
<?php if ( have_posts() ) : ?>
<div id="blog-wrap" class="clr <?php if ( '1' != wpex_grid_columns() ) echo 'masonry-grid js-isotope'; ?>">
<?php
// Begin loop
while ( have_posts() ) : the_post();
get_template_part( 'content', get_post_format() );
endwhile; ?>
</div><!-- #blog-wrap -->
<?php wpex_get_pagination(); ?>
<?php else : ?>
<?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>
</div><!-- #content -->
<?php get_sidebar(); ?>
</div><!-- #primary -->

<?php get_footer(); ?>

Есть ещё functions/load-more.php

<?php

add_action( 'wp_ajax_wpex_load_more_query', 'wpex_load_more_query' );
add_action( 'wp_ajax_nopriv_wpex_load_more_query', 'wpex_load_more_query' );

function wpex_load_more_query() {

$page = $_POST['pagenum'];
$archive_type = $_POST['archive_type'];
$archive_id = $_POST['archive_id'];
$archive_month = $_POST['archive_month'];
$archive_year = $_POST['archive_year'];
$post_format = $_POST['post_format'];
$author = $_POST['author'];
$s = $_POST['s'];

$args = array(
'paged' => $page,
'post_status' => 'publish'
);

if( !empty( $archive_type ) ) {

switch( $archive_type ) {

case 'category':
$args['cat'] = $archive_id;
break;

case 'post_tag':
$args['tag_id'] = $archive_id;
break;

case 'date':
$args['monthnum'] = $archive_month;
$args['year'] = $archive_year;
break;


}
}

if(!empty($post_format)) {
$args['tax_query'] = array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => "post-format-$post_format"
)
);
}

if( !empty( $author ) ) {
$args['author'] = $author;
}

if( !empty( $s ) ) {
$args['s'] = $s;
}

$args = apply_filters( 'wpex_load_more_args', $args );

query_posts($args);

//let's capture the output
ob_start();
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
get_template_part( 'content', get_post_format() );
}
}
$output = ob_get_clean();
echo $output;
//wp_die();
}


function wpex_load_more_pagination( $page = 2, $archive = null ) {

// Get Global Query
global $wp_query;

// Set Output Var
$output = '';

// Load More Text
$load_more_text = get_theme_mod( 'wpex_load_more_button_text', __('Ещё статьи', 'wpex') );

// Build the Query Data
$archive_type = '';
$archive_id = '';
$archive_month = '';
$archive_year = '';
$author = '';
$post_format = isset( $wp_query->post_format ) ? $wp_query->post_format : '';
//$author = isset($wp_query->author) ? $wp_query->author : '';

// Author
if( is_author() ) {
$archive_type = 'author';
$author = get_query_var('author');

// Category
} elseif( is_category() ) {
$archive_type = 'category';
$archive_id = get_query_var('cat');

// Tags
} elseif( is_tag() ) {
$archive_type = 'post_tag';
$archive_id = get_query_var('tag');

// Date
} elseif( is_date() ) {
$archive_type = 'date';
$archive_month = get_query_var('monthnum');
$archive_year = get_query_var('year');
}

$maxpage = $wp_query->max_num_pages;

//display load more if next page exists
if( $maxpage >= 2) {

$output .= '<div id="load-more" class="clear">';
$output .= '<input id="ajax-scroll-nonce" type="hidden" value="'. wp_create_nonce('ajax-scroll') .'" />';
$output .= '<a href="#" data-pagenum="'. $page .'" data-maxpage="'. $maxpage .'" data-archive_type="'. $archive_type .'" data-archive_id="'. $archive_id .'" data-post_format="'. $post_format .'" data-author="'. $author .'" data-archive_month="'. $archive_month .'" data-archive_year="'. $archive_year .'" data-s="'.get_query_var('s').'">';
$output .= '<span class="load-more-text">'. $load_more_text .'</span>';
$output .= '</a>';
$output .= '</div>';
}

echo $output;
}
SeVlad:
О какой "релевантности" ты говоришь? О какой Load more = "читать дальше"?
Вангую эта кнопка для вывода ОСТАЛЬНЫХ постов, ВМЕСТО постраничной навигации. И тут не может быть никакой "релевантности", а только то что задано циклом.

Load more = «Загрузить ещё». Да, вывод остальных постов, вместо постраничной навигации. Релевантные в том смысле, что с тем же тегом, например, или из той же категории. Очевидно, что если бы я разбирался в циклах WordPress'а, я бы не задавал этот вопрос.

adel92:
Скорее всего у Вас похожие статьи указываются вручную. Поищите такой пункт, так часто на WP делают. Либо из одной категории/рубрики.

Нет, должны подгружаться статьи из той же категории, а не похожие. Т.е. просто продолжение списка статей выбранной категории или тега. Похожие статьи тут не при чём.

Ingref:
Плюс там ещё мета-теги прописаны и вводный текст присутствует. И сами статьи именно на тему истории. Я бы на вашем месте закрыл от индексации все теги, кроме тех, которые реально могут быть полезны. А то бывают теги типа "дом" или "дерево" - то есть, просто обычные слова, которые продвигать бессмысленно.

Да, это хорошая мысль, спасибо, только вот пока не совсем понятно, как на WP открыть только определённые теги, а не все.

Ingref:
Всё зависит от реализации. Если так https://hi-news.ru/tag/istoriya - тогда можно не закрывать. А если так http://baseguru.ru/en/tag/istoriya - лучше закрыть.

Я так понимаю, ключевая разница в количестве статей на странице?

---------- Добавлено 19.05.2017 в 18:39 ----------

xereden:
Ну да на сорокатысячнике это тема конечно, но на бложике в пару сотен страниц это не прокатит. Если в первом случае это реально нужно для навигации, то во втором это только для того, чтоб наплодить запросов побольше. Все потуги развести ПС заканчиваются плохо.

На моём сайте почти 1200 статей, у всех у них уже есть теги. Их я рассматриваю тоже больше как навигацию. Но вот призадумался, можно ли ещё поисковую пользу получиться. Среди тегов есть как «популярные» с множеством статей (например, тег «художники»), так и всего с одной (например, тег - имя художника).

J_J:
Что понимается под словом теги? Покажите пример.

Страница вида https://site.ru/tag/istoriya/. На ней находится список статей, у которых стоит этот тег

Всего: 63