Я не могу просматривать изменения поста после их публикации.

Вопрос или проблема

Функция предварительного просмотра работает нормально, когда посты еще находятся в черновике. URL выглядит так:
http://exemple.domain.com/blog/?p=12&preview=true

Затем, когда я публикую свои посты, допустим, я хочу что-то изменить и просмотреть, URL выглядит так: http://exemple.domain.com/blog/my-article-title/?preview=true&preview_id=12&preview_nonce=514e88946a&post_format=standard

Проблема в том, что он не отражает никаких изменений…

Я использую WordPress 3.9.2 с темой Twenty Fourteen без каких-либо плагинов

ИЗМЕНИТЬ

Я изменил постоянную ссылку на стандартную, и это решило проблему. Но мне нужно, чтобы это работало с красивым URL…
Спасибо за вашу помощь

Вам нужно определить постоянную ссылку %postname% и убедиться, что .htaccess изменен.

Если доступ к вашему .htaccess заблокирован, вы можете сделать это вручную.

# НАЧАЛО WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# КОНЕЦ WordPress

Больше информации вы можете найти в Codex, просто найдите “Использование “Pretty” permalinks”.

Это, вероятно, не лучший способ, поскольку он не будет действовать после обновлений WordPress (но, надеемся, обновление это исправит).

В wp-admin/includes/post.php отредактируйте функцию post_preview(), сразу перед возвратом apply_filters( 'preview_post_link', $url ); вставьте следующий код:

//ОРИГИНАЛ
//$url = add_query_arg( $query_args, get_permalink( $post->ID, true ) );

//ИЗМЕНЕНИЯ, чтобы просмотр работал даже с postname в URL
$query_args['p'] = $post->ID;
$url = add_query_arg( $query_args, get_permalink( $post->ID, true ) );
$url = str_replace('%postname%/', '', $url); 
//КОНЕЦ ИЗМЕНЕНИЙ

Но все же, есть ли способ сделать это лучше?

Ответ или решение

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

Фон проблемы

У вас работает WordPress версии 3.9.2 с темой Twenty Fourteen без использования плагинов. Первоначальный доступ к предпросмотру постов осуществляется через URL-адрес с добавленным параметром preview=true. Однако после публикации, предпросмотр изменений не отображается корректно при использовании "красивых" URL.

Возможные причины

  1. Проблемы с .htaccess: Если файл .htaccess настроен неправильно, это может привести к некорректной обработке "красивых" URL. Необходимо убедиться, что файл конфигурирован правильно для поддержки пермалинков.

  2. Необходимость правки функции предпросмотра поста: Стандартная функция может не учитывать определенные нюансы работы с пермалинками.

Решения

1. Настройка .htaccess

Произведите проверку и, при необходимости, скорректируйте файл .htaccess следующим образом:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Эта конфигурация позволит настроить пермалинки для работы с модулем mod_rewrite.

2. Изменения в wp-admin/includes/post.php

Для исправления функции предпросмотра поста внесите следующие изменения в файл wp-admin/includes/post.php:

// ИЗМЕНЕНИЯ для корректного предпросмотра
$query_args['p'] = $post->ID;
$url = add_query_arg( $query_args, get_permalink( $post->ID, true ) );
$url = str_replace('%postname%/', '', $url);
// КОНЕЦ ИЗМЕНЕНИЙ

Этот код добавляет параметр ‘p’ с идентификатором поста и устраняет из URL %postname%, что может способствовать исправлению проблем предпросмотра.

SEO Оптимизация и лучшие практики

  • Консистентные пермалинки: Убедитесь, что структура пермалинков остается последовательной. Исправления в .htaccess и коде могут помочь сохранить структуру "красивых" URL без ошибок.

  • Анализ производительности: Регулярно проводите аудит производительности сайта и проверку ошибок, чтобы быстро выявлять и устранять подобные проблемы.

  • Обновление WordPress: Рассмотрите возможность обновления WordPress до более поздней версии, так как многие проблемы могли быть исправлены разработчиками.

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

Оцените материал
Добавить комментарий

Капча загружается...