Поддержка Проблемы и решения Ошибка при фильтрации по типу записи

  • Решено Ignet

    (@thorny1313)


    На сайте существует НЕСКОЛЬКО пользовательских типов записей.

    При попытке вывести сразу НЕСКОЛЬКО типов записей в одном архиве:

    add_action( 'pre_get_posts', 'my_pre_get_posts' );
    function artilcom_pre_get_posts( $query ) {
    
    	if ( ! is_admin() && $query->is_main_query() ) {
    		$query->set('post_type',array( 'slag1', 'slag2' ));
    	}
    }

    Получаю предупреждение на странице:

    Warning: Illegal offset type in isset or empty in ….\wp-includes\post.php on line 1060

    При этом предупреждение вывалвается в любом случае, если в ‘post_type’ передавать МАССИВ, даже из одного элемента
    $query->set('post_type',array( 'slag1' ));
    тот же результат.

    Но
    $query->set('post_type', 'slag1' );
    Работает без ошибок …

    Подскажите куда копать, где смотреть 🙁 ???

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Проблема замечена в плагине WordPress SEO.

    Там вызывается функция get_post_type_archive_link() (которая принимает только строку) без учёта, что post_type может быть и массивом:
    https://plugins.trac.wordpress.org/browser/wordpress-seo/tags/1.5.2.5/frontend/class-frontend.php#L763

    Автор Ignet

    (@thorny1313)

    Огромнейшее спасибо!
    Методом научного тыка я уже выяснил что проблема в этом плагине, но упорные его ковыряния пока что не дали результата.
    Ваша подсказка конечно делу поможет… Но после многочасового поиска решений сама собой напрашивается мысль просто отказаться от плагина 🙁

    Еще раз большое спасибо!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Отправил запрос с исправлением разработчикам плагина:
    https://github.com/Yoast/wordpress-seo/pull/948

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Запрос принят, исправление должно появиться в следующей версии плагина.

    Автор Ignet

    (@thorny1313)

    Спасибо огромное за содействие.
    я вот полазил по форуму поддержки плагина … там активности не наблюдается 🙁
    На гитхаб почему то даже не подумал глянуть.
    Еще раз спасибо!

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Ошибка при фильтрации по типу записи» закрыта для новых ответов.