Wordpress 3.1.2 Сломаны постоянные ссылки - PullRequest
5 голосов
/ 16 мая 2011

У меня свежая установка WordPress 3.1.2 (не обновлена, но установлена ​​заново), не содержащая никаких плагинов.

У меня, как мне кажется, из-за поиска в Google довольно распространенная проблема, но нетиз решений, которые я могу найти для меня.

У меня есть пользовательская таксономия и пользовательский тип записи, код из моего functions.php:

register_post_type( 'product', array(
    'labels' => array(
        'name' => __( 'Products' ),
        'singular_name' => __( 'Product'),
        'add_new_item' => __( 'Add New Product'),
        'add_new' => __( 'Add a Product'),
        'edit_item' => __( 'Edit Product'),
        'new_item' => __( 'New Product'),
        'view_item' => __( 'View Product'),
        'search_items' => __( 'Search products' ),
        'not_found' => __( 'No products found' ),
        'not_found_in_trash' => __( 'No products found in Trash' )
    ),
    'public' => true,
    'supports' => array(
        'title',
        'editor'
    ),
    'has_archive' => true,
    'can_export' => true
));

register_taxonomy( 'product_category', 'product', array(
    'hierarchical' => true,
    'labels' => array(
        'name' => 'Product Categories',
        'singular_name' => 'Product Category',
        'search_items' =>  __( 'Search Product Categories' ),
        'all_items' => __( 'All Product Categories' ),
        'parent_item' => __( 'Parent Product Category' ),
        'parent_item_colon' => __( 'Parent Product Category:' ),
        'edit_item' => __( 'Edit Product Category' ), 
        'update_item' => __( 'Update Product Category' ),
        'add_new_item' => __( 'Add New Product Category' ),
        'new_item_name' => __( 'New Product Category Name' ),
        'menu_name' => __( 'Product Categories' ),
    ),
    'public' => true,
    'rewrite' => array(
        'hierarchical' => true
    )
));

Проблема в том, что когдаЯ захожу на страницу архива product_category, например, http://example.com/dairy-industry,, получаю 404. Я пробовал исправить гаджлион, включая

  • каждую комбинацию rewrite аргументов наregister_taxonomy код
  • повторное сохранение постоянных ссылок
  • отключение постоянных ссылок, сохранение, затем повторное включение их
  • выше, но сначала удаление файла .htaccess с сервера
  • выше, но сначала удаляя опцию rewrite_rules из таблицы wp_options
  • с установленной опцией категории и базы тегов (и пустым)

Я также делаюне имеет $ wp_rewrite-> flush_rules ()где-нибудь в моей теме.

Самое расстраивающее - это то, что в разные моменты времени мои исправления, и без шаблона, который я могу определить, страницы архива пользовательских таксономий снова начинают работать, но обычные страницы начинают давать мне404 вместо.Они никогда не работают в одно и то же время, и я не могу понять, какие шаги будут воспроизводимо выполнять ту или иную работу.Кажется, что это совершенно случайно.

Для еще большего интереса, когда страницы архива пользовательских таксономий не работают, одна из них (dairy-industry) перенаправляет на кусокс таким же названием, но другим (2011/04/dairy-industry-products) постом перед тем, как дать мне 404.

Я рад поделиться любым кодом, который может оказаться полезным, просто спросите.

Может кто-нибудь помочь мне разобраться в этой озадачивающей головоломке?

Ответы [ 4 ]

0 голосов
/ 02 декабря 2011

Мне помог этот ответ: word-press-permalinks-broken-fro-category-and-tags-404-error-page-not-found

Просто проверьте ваши плагины и, если у вас есть «Простые теги» или «Multipage Toolkit», отредактируйте плагины и замените:

$wp_rewrite->flush_rules();

с:

/* $wp_rewrite->flush_rules(); */

После этого перейдите на страницу с вашими постоянными ссылками и обновите их ... дважды. Работал как шарм.

0 голосов
/ 18 мая 2011

Я столкнулся с этой проблемой, которая появилась только после обновления до 3.1.2 с 3.1 (мы пропустили 3.1.1).Я получаю ответ 404 для пользовательских типов записей и везде, где было применено пользовательское правило перезаписи (например, пользовательские ссылки каналов).

Мне удалось заставить его работать достаточно хорошо с этим плагином:

http://wordpress.org/extend/plugins/wcs-custom-permalinks-hotfix/

Однако я все равно иногда получаю эти страницы 404 '-Я подозреваю, когда добавляется новый пост.Когда это произойдет, я смогу снова заставить их работать, перейдя на страницу настроек постоянной ссылки и просто нажав «Сохранить».

Обязательно проверьте ваши правила htaccess - на веб-сайте плагина есть много информации и рекомендованы правила htaccess дляодно- и многосайтовые настройки:

http://wpcodesnippets.info/blog/wcs-custom-permalinks-hotfix.html

0 голосов
/ 02 июня 2011

Когда я впервые столкнулся с этой проблемой 404 с постоянными ссылками, я был в бешенстве.Это повлияло на все мои собственные сайты и несколько, которыми я управляю.Сотни людей использовали функцию исправления, которую я закодировал ... и затем отвечал на различные особые случаи от пользователей ... мы усовершенствовали ее для плагина, который вы упомянули.

Оригинальная статья здесь: http://wpcodesnippets.info/blog/how-to-fix-the-wp-3-1-custom-permalinks-bug.html

По моим оценкам, эта ошибка повлияла на тысячи сайтов WP.Но официальные разработчики отказались учитывать это в любых последующих обновлениях.К счастью, плагин должен работать вечно.

Что касается ваших случайных 404-х для новых постов, мне особенно любопытно, если вы обнаружите виновника.Вот одна вещь, чтобы попробовать.Как только это произойдет с новым сообщением, откройте ваш сайт в браузере, который вы обычно не используете ... и посмотрите, сможете ли вы оттуда перейти по ссылке на новое сообщение.

Конечно,старые плагины, которые изменяют структуру постоянных ссылок или получают к ней доступ, будут нуждаться в незначительных модификациях, пока WP не решит проблему.

В любом случае, я рад, что плагин помог.

0 голосов
/ 16 мая 2011

У меня были некоторые проблемы с этим раньше. Я обнаружил, что если у вас есть пользовательский тип записи с тем же именем, что и у одного из ваших слагов, это может вызвать огромные проблемы! Это может быть то, что вам нужно учитывать.

Теперь я использую плагин для создания своих пользовательских типов постов, так как он имеет встроенные поля для структуры URL. Этот плагин называется CMS Press .

...