divv

Рейтинг
152
Регистрация
02.02.2010
SeVlad #:

Ты вообще не понимаешь что у тебя написано. Функции is_ - это уже if.

Как впрочем и has_.

Как это может быть if?

Это true или false

отключение редиректа на похожие адреса


remove_action( 'template_redirect', 'redirect_canonical' );
Может при регистрации типа записи не включили
'has_archive'        => true,

Это влияет на основной запрос, тоесть включение страниц архива и пагинации.  WP_Query и add_rewrite_rule тогда вообще не стоит использовать.

Для изменения основного запроса нужно использовать хук pre_get_posts, например кол-во записей на странице изменить и т.д.

add_action('template_redirect', 'is_correct_url');
function is_correct_url() {

global $wp_query, $post;

$current_url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];


    if (is_single() || is_page()) {
                
          $page_url = get_permalink($post);

        if ($current_url != $page_url) {
            $wp_query->set_404();
            status_header(404);
            include (get_query_template('404'));
            exit();
        }
                
        }      
        
         if (is_tax() && !is_paged()) {
                
          $page_url = get_term_link(get_queried_object_id());

        if ($current_url != $page_url) {
            $wp_query->set_404();
            status_header(404);
            include (get_query_template('404'));
            exit();
        }
                
        }
        
        
}

Svetogorik #:

Спасибо! Это то, что нужно!!! Вылетает моя 404 страница и ответ сервера 404.👍

Но на рубриках, если ввести на конце URL, например, @@@, то она все равно открывается с этими символами))Что можно добавить?:)

На рубриках можно сделать только если нет каких либо фильтров, где добавляются параметры в урл.

Еще способ

//проверка корректности урл страниц и записей
add_action('template_redirect', 'is_correct_url');
function is_correct_url() {

global $wp_query, $post;

$current_url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];


    if (is_single() || is_page()) {
                
          $page_url = get_permalink($post);

        if ($current_url != $page_url) {
            $wp_query->set_404();
            status_header(404);
            include (get_query_template('404'));
            exit();
        }
                
        }      
}
svift #:
wp_count_posts

Эта функция не подойдет.


На страницах категорий используйте

global $wp_query;
$count = $wp_query->found_posts;
Tanila #:

Здравствуйте. На сайте установлена тема Root. В разделе "Внешний вид - Настроить" у меня не отображается никаких блоков, кроме "Виджеты", пусто. Сайт купленный, продавец сказал, что при передаче было всё нормально (я не проверяла этот параметр, увидела только сейчас). Из изменений, внесённых мной - только создание нового пользователя, но там всё нормально, права администратора. Подскажите, пожалуйста, куда рыть? Пересмотрела кучу сайтов в поиске, так и не нашла ответа.


В браузере: инструменты разработчика > консоль.

Посмотрите есть ли ошибки.

Не стоит, вообще его не стоит ставить.

Он хранит сео данные для таксономий в wp options и на каждой загрузке страницы тянет их все разом.

При большом кол-ве терминов таксономий прилично кушает память.


Нет чтобы хранить данные в term meta

да. они уже в коде, просто скрыты
Всего: 559