Нужен совет специалиста по WP
-
Здравствуйте. Есть проблема на сайте http://rusvacant.ru при нажатии на «Следующая страница» выводит что «Страница, вакансия или статья, возможно, была перемещена или удалена» хотя это не все вакансии а последние, другие можно увидеть через разделы меню справа. Что и где нужно изменить скажите пожалуйста!?
-
попробуйте отключить все плагины и проверить еще раз. если после этого пагинация заработает, то дело в каком-то плагине. я слышал, что всякие сео-плагины частенько ломают навигацию по страницам.
По всей видимости вакансии выводятся дополнительным циклом, не изменяя главный цикл, а в главном цикле всего одна страница, поэтому при переходе на следующую получаете 404. Не глядя на код сложно сказать, но мне кажется, что где-то там в шаблоне главной страницы есть вызов функции query_posts?
Если нет, то возможно что-то с рерайтами.. В общем нужно смотреть код страницы, запостите его на какой-нибудь pastebin и дайте ссылку.
я не большой знаток WP. какие вам файлы конкретно нужно увидеть?
Охх.. Ну если вы не сами создавали этот сайт то вам будет сложнее. В таком случае советую то же, что и посоветовал @shin, смените тему на стандартную, деактивируйте все плагины.
я сам создавал на базе готовой темы, начальные знания сайтостроения мне известны. В тему внесено несколько изменений, куча настроек, сбрасывать все это я не хочу. А что разве нельзя посмотрев несколько файлов найти сбой!?
Еще такой вариант может мне назвать эту проблемную страницу допустим «последние 10 вакансий» чтобы пользователь не тыкал «следующая страница» просто убрать ее с главной страницы (чтобы не отображалась!) но как и где это сделать я не знаю. Может подскажите пожалуйста!?
Можно конечно, только это может затянуться, если не знать где искать 🙂 у вас всегда была недоступна вторая страница или вы что-то поменяли или дописали и она перестала работать? Копаться нужно в том шаблоне, который выводит этот список. Какой именно шаблон за это отвечает глядя на сайт я не могу сказать, т.к. реализовать подобное можно разными (правильными и не правильными) способами. На ум приходит:
* Через событие pre_get_posts в файле functions.php
* Через шаблон страницы (они могут называться произвольно)
* Через archives.php, index.php, page.php, single.php
* Через кастомные типы, archive-{cpt}.phpВ общем успехов в поисках =)
покажите для начала содержимое index.php
Если не удасться решит, напишите мне на почту kovshenin@gmail.com доступ к админке и доступ к FTP, если время будет — гляну.
а еще можно резко сузить круг поиска с помощью функции
function get_filename() { $array = debug_backtrace(); $file = basename( $array[0]['file'] ); echo '<!-- ' . $file . ' -->' . "\n"; }
если добавить ее в functions.php и вызвать в начале и конце каждого файла шаблона,
<?php get_filename(); ?>
то в нужных местах на странице появятся закомментированные имена шаблона. после этого сразу будет понятно, какой именно шаблон выводит эти записи.и вызвать в начале и конце каждого файла шаблона,
Что-то многовато телодвижений. имхо 😉
Можно поступить проще:function wikicms_show_template() { global $template; print_r($template); } add_action('wp_head', 'wikicms_show_template');
wikicms в какие файлы нужно установить то что вы сказали? в functions.php в начало и конец файла?
@wikicms ведь разные же функции совершенно. ту, что дал я покажет в коде название шаблона в том месте, где он подключается. грубо говоря, если в index.php будет вызываться loop.php, ваша функция этого не отобразит.
но телодвижений немало, согласен. хотя это можно автоматизировать)
содержимое index.php
<?php
// Empty search fixes
if (isset($_GET[‘resume_search’]) && $_GET[‘resume_search’]) :
if (isset($_GET[‘s’]) && isset($_GET[‘location’]) && !empty($_GET[‘location’])) : get_template_part(‘search-resume’); exit; endif;
wp_safe_redirect(get_post_type_archive_link(‘resume’));
exit;
endif;
if (isset($_GET[‘s’]) && isset($_GET[‘location’]) && !empty($_GET[‘location’])) : get_template_part(‘search’); exit; endif;
?>
<?php get_header(‘search’); ?>
<?php do_action(‘jobs_will_display’); ?>
<?php
global $featured_job_cat_id;
if ( get_query_var(‘paged’) )
$paged = get_query_var(‘paged’);
elseif ( get_query_var(‘page’) )
$paged = get_query_var(‘page’);
else
$paged = 1;
// include the featured jobs
if (is_front_page() && $paged==1 && $featured_job_cat_id) get_template_part(‘includes/featured-jobs’);
?>
<?php if (get_option(‘jr_indeed_front_page’)==’yes’ && $paged==1) { ?>
<div class=»async_indeed_results»><div class=»indeed-placeholder»></div><p><?php _e(‘Fetching Sponsored Job Listings’,’appthemes’); ?></p></div>
<?php } ?>
<div class=»section»>
<h2 class=»pagetitle»>
<small class=»rss»>«><img src=»<?php bloginfo(‘template_url’); ?>/images/feed.png» title=»<?php _e(‘Latest Jobs RSS Feed’,’appthemes’); ?>» alt=»<?php _e(‘Latest Jobs RSS Feed’,’appthemes’); ?>» /></small>
<?php _e(‘Latest Jobs’,’appthemes’); ?> <?php if ($paged>1) { ?>(page <?php echo $paged; ?>)<?php } ?>
<?php if (isset($_GET[‘action’]) && $_GET[‘action’] == ‘Filter’) { ?>
<small> — «><?php _e(‘Remove Filters’,’appthemes’); ?></small>
<?php } ?>
</h2>
<?php
$args = jr_filter_form();
query_posts($args);
// call the main loop-job.php file
get_template_part( ‘loop’, ‘job’ );
?>
<?php jr_paging(); ?>
<?php wp_reset_query(); ?>
<div class=»clear»></div>
</div><!— end section —>
<?php do_action(‘after_front_page_jobs’); ?>
<div class=»clear»></div>
</div><!— end main content —>
<?php if (get_option(‘jr_show_sidebar’)!==’no’) get_sidebar(); ?>
<?php get_footer(); ?>Что-то вы слишком сильно заморочились с дебагами и $template… @nix03, выложите всю тему в виде .zip архива куда-нибудь 🙂
- Тема «Нужен совет специалиста по WP» закрыта для новых ответов.