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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Бывалый
****

Группа: User
Сообщений: 293
Регистрация: 20.9.2010
Поблагодарили: 64 раза
Репутация:   12  


Описание задачи:
/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


Участник
***

Группа: User
Сообщений: 122
Регистрация: 25.4.2008
Поблагодарили: 63 раза
Репутация:   19  


после
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


Бывалый
****

Группа: User
Сообщений: 293
Регистрация: 20.9.2010
Поблагодарили: 64 раза
Репутация:   12  


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

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

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

UPD

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

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) ВНИМАНИЕ: Тема для обсуждения работ фотоконкурса «Новогодний косплей» 18+
7 admin 1264 Сегодня, 0:03
автор: Movut
Открытая тема (нет новых ответов) Интервью с малоинтересным для вас человеком :)
osmam.ru - блог технического копирайтера
0 grumdas 288 Вчера, 20:19
автор: grumdas
Открытая тема (нет новых ответов) Найду для вас домены
17 MakDonald 2989 Вчера, 18:03
автор: MakDonald
Открытая тема (нет новых ответов) Открыть валютной карты для обменника
7 fair_exchange 494 Вчера, 17:50
автор: fair_exchange
Горячая тема (нет новых ответов) ВНИМАНИЕ: Тема имеет прикрепленные файлыПишу тексты для всех и каждого. Цены не кусаются, качество не хромает.
Единственное правило: клиент всегда доволен.
122 Hellnar 50476 Вчера, 9:04
автор: koroluk1990


 



RSS Текстовая версия Сейчас: 19.12.2017, 2:27
Дизайн