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



 

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

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

Открыть тему
Тема закрыта
> Нужен эксперт по wordpress для решния проблемы с пагинацией в CPTs, Недорого.
S1xteen
S1xteen
Topic Starter сообщение 17.10.2012, 22:25; Ответить: S1xteen
Сообщение #1


Описание задачи:
/review/page/2/ — на таких типах страниц вся пагинация нормально работает.
/review/acer/page/2/ — на таких типах страниц (категории) выдает 404, начиная с page 2, 3, 4... (используется стандартный массив the_post(), пробовал создавать новый массив, но это ничего не меняет)
Плагинов никаких не установлено (касающихся custom posts и wp navi).

Как я создаю новый тип и иерархическую таксономию, в категориях которой переключатель и не работает:
Развернуть/Свернуть
// Регистрирую тип записей Модели ---------------------------------
add_filter('post_type_link', 'wpq_permalinks', 10, 3);
add_action( 'init', 'create_post_type' );
function create_post_type(){
  register_post_type('model',
    array(
      'labels' => array(
      'name' => 'Модели',
      'singular_name' => 'Модели',
      'add_new' => 'Новая модель',
      'add_new_item' => 'Новая модель',
      'edit_item' => 'Редактровать',
      'new_item' => 'Новая модель',
      'view_item' => 'Просмотреть модель',
      'search_items' => 'Найти модель',
      'not_found' =>  'Моделей не найдено',
      'not_found_in_trash' => 'Моделей не найдено в корзине',
    ),
      'query_var' => 'model',
      'rewrite' => true,
      'capability_type' => 'post',
      'has_archive' => true,
      'public' => true,
      'supports' => array( 'title', 'editor', 'thumbnail', 'custom-fields', 'comments', 'revisions', 'post-formats' ),

      //'taxonomies' => array( 'post_tag', 'category'),
    )
  );

  register_taxonomy('notebooks', 'model',
    array(
          'labels' => array(
           'name' => 'Производитель',
           'singular_name' => 'Производитель',
           'search_items' => 'Найти производителя',
           'popular_items' => 'Популярные производители',
           'all_items' => 'Все производители',
           'parent_item' => null,
           'parent_item_colon' => null,
           'edit_item' => 'Редактировать',
           'update_item' => 'Обновить',
           'add_new_item' => 'Добавить нового производителя',
           'new_item_name' => 'Название нового производителя',
           'separate_items_with_commas' => 'Разделяйте производителей запятыми',
           'add_or_remove_items' => 'Добавить или удалить производителя',
           'choose_from_most_used' => 'Выбрать из наиболее часто используемых производителей',
           'menu_name' => 'Производители'
           ),
      'hierarchical' => true,
      'query_var' => 'notebooks',
      'rewrite' => false
    )
  );

  global $wp_rewrite;
  $wp_rewrite->add_rewrite_tag('%model%', '([^/]+)', 'model=');
  $wp_rewrite->add_rewrite_tag('%notebooks%', '([^/]+)', 'notebooks=');
  $wp_rewrite->add_permastruct('notebooks', '/model/%notebooks%', false, EP_CATEGORIES);
  $wp_rewrite->add_permastruct('model', '/model/%notebooks%/%model%', false);
}

function wpq_permalinks($permalink, $post_id, $leavename)
{
  $no_terms = 'notebooks';
  $post = get_post($post_id);
  if($post->post_type != 'model' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft')))
    return $permalink;
  $terms = wp_get_object_terms((int)$post->ID, 'notebooks');
  if(is_wp_error($terms) || empty($terms))
  {
    $term_slug = $no_terms;
  } else
  {
    $term = reset($terms);
    if(is_object($term))
      $term_slug = $term->slug;
    else
      $term_slug = $no_terms;
  }
  $permalink = str_replace('%notebooks%', $term_slug, $permalink);
  return $permalink;
}

add_filter('term_link', 'wpq_term_link', 10, 3);
function wpq_term_link($termlink, $term, $taxonomy)
{
  $termlink = str_replace('%notebooks%', $term->slug, $termlink);
  return $termlink;
}

Создание нового и редактирование существующего массива вывода постов ничего не меняет. (В ПУ и в параметрах массива стоит одинаковое число для вывода количества постов на страницу)
Кроме всего, плагин custom post type category fix не помог, как и другие методы решения найденные в англоязычном поиске.

Предлагайте свою цену за решение.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Karlasan
Karlasan
сообщение 18.10.2012, 7:36; Ответить: Karlasan
Сообщение #2


после
global $wp_rewrite;
  $wp_rewrite->add_rewrite_tag('%model%', '([^/]+)', 'model=');
  $wp_rewrite->add_rewrite_tag('%notebooks%', '([^/]+)', 'notebooks=');
  $wp_rewrite->add_permastruct('notebooks', '/model/%notebooks%', false, EP_CATEGORIES);
  $wp_rewrite->add_permastruct('model', '/model/%notebooks%/%model%', false);


поставь
$wp_rewrite->flush_rules();

это сохранит сделанные изменения, а то по ходу они у тебя только в кэше и остались. ну это ты наверное уже читал smile.gif в принципе мой совет делает то же самое, только программно.
воткни
print_r($wp_rewrite);
куда-нибудь, посмотри - так ли все твои изменения сохранились. 404 в таких случаях чаще всего говорит о косяках в структуре чпу.
лучше бы конечно на самом сайте всё посмотреть и поковыряться, сидеть гадать можно долго

Сообщение отредактировал Karlasan - 18.10.2012, 7:42


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
S1xteen
S1xteen
Topic Starter сообщение 19.10.2012, 15:47; Ответить: S1xteen
Сообщение #3


Karlasan, пересохранять формат ссылок я уже пытался, но не помогло (как и функция flush_rules(); )

А то, что показываем мне print_r($wp_rewrite); мне не о чем не говорит sad.gif
Есть сайт на сервере для опытов, так что могу впустить.

Я вообще-то мало соображаю в WP и php, так что я мог просто неправильно применять способы для решения проблемы...

UPD

Пользователь Karlasan, решил мою проблему, быстро и без моего участия. Могу рекомендовать этого человека как хорошего специалиста в своем деле. Спасибо!

Сообщение отредактировал S1xteen - 19.10.2012, 15:48
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПродам базу сайтов Wordpress в 16 миллионов доменов! Свежая сборка.
18 Boymaster 11027 Сегодня, 12:04
автор: Omaxis
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4075 Вчера, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 677 17.4.2024, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2811 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34836 15.4.2024, 15:16
автор: arendator


 



RSS Текстовая версия Сейчас: 19.4.2024, 16:04
Дизайн