Вопрос или проблема
Я внес некоторые изменения на страницу блога и исключил некоторые категории. Тем не менее, каждый раз, когда я просматриваю блог в сети, исключенные посты все еще появляются. Но когда я перехожу на страницу блога и нажимаю «предварительный просмотр», исключенные категории не отображаются, как и ожидалось.
Я очистил кеш браузера, но это ничего не дало. В настоящее время нет используемых плагинов кеширования.
Кто-нибудь знает, что происходит?
Тестовый сайт: http://crankit.com.au/~dentalwe/blog/
function genesis_do_loop() {
if ( is_page_template( 'page_blog.php' ) ) {
$include = genesis_get_option( 'blog_cat' );
$exclude = genesis_get_option( 'blog_cat_exclude' ) ? explode( ',', str_replace( ' ', '', genesis_get_option( 'blog_cat_exclude' ) ) ) : '';
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
//* Пасхальное яйцо
$query_args = wp_parse_args(
genesis_get_custom_field( 'query_args' ),
array(
'cat' => $include,
'category__not_in' => $exclude,
'showposts' => genesis_get_option( 'blog_cat_num' ),
'paged' => $paged,
)
);
genesis_custom_loop( $query_args );
} else {
genesis_standard_loop();
}
}
Если я правильно вас понимаю, кнопка «Предварительный просмотр изменений» отображает изменения, внесенные в пост/страницу, пока вы «Обновляете» страницу/пост (сохраняете изменения).
Но «Просмотреть страницу» отображает страницу такой, какая она есть, с последней версией «Обновления». Поэтому, если вы не обновили страницу, вы не увидите то, что получаете, когда переходите к «Предварительному просмотру изменений».
Ответ или решение
Проблема, с которой вы столкнулись, когда изменения на странице блога отображаются в предварительном просмотре, но не на живом сайте, может быть вызвана рядом факторов. Давайте подробно рассмотрим возможные причины и решения.
1. Кэширование
Первое, что приходит на ум, — это кэширование. Вы упомянули, что очищали кэш браузера и не используете плагины кэширования. Тем не менее, стоит учитывать, что ваш хостинг-провайдер может иметь уровень кэширования на сервере. Попробуйте выполнить следующие действия:
- Очищение кэша на сервере: Свяжитесь с вашим хостинг-провайдером и узнайте, используется ли кэширование на сервере. Попросите их очистить кэш.
- Кэш CDN: Если вы используете Content Delivery Network (CDN), такой как Cloudflare, очистите кэш и на уровне CDN.
2. Проверьте обновления через ‘Обновить’
Когда вы вносите изменения в пост или страница, важно нажать кнопку "Обновить", чтобы сохранить изменения. Даже если вы видите изменения в предварительном просмотре, живой сайт может отображать старую версию, если обновление не было выполнено. Убедитесь, что:
- Вы сохранили изменения и обновили страницу после внесения всех корректировок.
3. Кэширование браузера
Хотя вы уже очищали кэш браузера, стоит попробовать открыть сайт в режиме инкогнито или в другом браузере. Это поможет исключить возможность кэширования на стороне клиента.
4. Настройки темы или плагина
Ваш код использует функции Genesis Framework. Убедитесь, что:
-
Правильные категории указаны в настройках темы. Проверьте значение
blog_cat
иblog_cat_exclude
в настройках Genesis.$include = genesis_get_option( 'blog_cat' ); $exclude = genesis_get_option( 'blog_cat_exclude' ) ? explode( ',', str_replace( ' ', '', genesis_get_option( 'blog_cat_exclude' ) ) ) : '';
-
Убедитесь, что вы действительно исключили нужные категории и что они правильно указаны. Ошибка в идентификаторах категорий может привести к тому, что исключенные категории все равно будут отображаться.
5. Плагины и конфликт кода
Конфликты между плагинами или нестандартный код могут также привести к подобным проблемам. Чтобы исключить это, выполните следующие шаги:
- Деактивируйте все плагины, кроме Genesis. Проверьте, исчезла ли проблема.
- Если да, активируйте плагины по одному, чтобы выявить конфликтующий.
6. Обновление кода
Обратите внимание на используемый вами код для вывода постов. Возможно, имеет смысл перепроверить его на наличие ошибок или некорректной логики:
$query_args = wp_parse_args(
genesis_get_custom_field( 'query_args' ),
array(
'cat' => $include,
'category__not_in' => $exclude,
'showposts' => genesis_get_option( 'blog_cat_num' ),
'paged' => $paged,
)
);
Убедитесь, что передаваемые параметры правильные и соответствуют вашим ожиданиям. Проверьте, верно ли работает вызов genesis_get_custom_field()
и как он влияет на итоговые параметры запроса.
Заключение
Если, несмотря на проделанные шаги, проблема не решается, рассмотрите возможность:
- Обратиться за помощью на форумы сообщества Genesis или техническую поддержку.
- Изучить журналы ошибок сервера на предмет возможных указаний на конфликт или ошибку.
Эти шаги должны помочь вам устранить проблему с обновлениями блога, которые отображаются в предварительном просмотре, но не в живой версии сайта.