Поддержка Проблемы и решения Получаю странное уведомление

  • Ver 3.4.1 PHP 5.4.4
    Пишу Тему для своих нужд, столкнулся со странным уведомлением
    Notice: Undefined offset: 1 in \wp-includes\template.php on line 309 Notice: Undefined offset: 1 in \wp-includes\template.php on line 311
    Появляется после применения фильтра

    function wikicms_my_query( $request )
    {
        $my_query = new WP_Query();
        $my_query->parse_query( $request );
    
        if ( $my_query->is_single() )
            $request['post_type'] = 'docs';
    
        return $request;
    }
    add_filter( 'request', 'wikicms_my_query' );

    При этом никаких attachment и в помине нет…
    Кто-нибудь сталкивался? Как победить?

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Проблемная строка эта
    if ( $my_query->is_single() )
    если поменять на что угодно, например is_home(), то работает чисто.. Где что закралось, понять не могу…
    Шаблоны в наличии: index, page, single. Содержимое в single — классическая LOOP..

    Модератор Yuri

    (@yube)

    Насколько я понимаю WP, функция is_single() и метод is_single() объекта типа query — не совсем одно и то же.

    Толком не разобрался еще, но проблема кроется в определении (сопоставлении) шаблона к кастомному типу постов. Каким-то образом CPT использовал шаблон index (не single, и не single-posttype).
    Так-то конечно работает (опять же, только в index):
    $query = new WP_Query( 'post_type=docs' );
    Вероятно, я перемудрил с реврайтами… )

    Нее.. все-равно неверно.. Мой вариант лучше, сейчас смотрел используемые шаблоны, все верно работает с первым вариантом, плюс -5 запросов к БД.. Только вот это уведомление мучает..

    Где формируется уведомление var_dump($type):
    array(1) { [0]=> string(0) "" }
    var_dump($posts[0])
    ["post_mime_type"] => string(0)
    Я так понимаю должно быть типа text/plain или чего иного..
    Это что за «величина» ["post_mime_type"] и откуда она берется? Кто знает?

    Решил «ужасным» методом — правкой ядра…

    Попытаюсь объяснить суть, в-общем «убил» я все сущности, оставил только кастомный тип постов (эквивалент постам, только без поддержки таксономий). Иерархию делаю с помощью custom fields — определяя поселение, фактически родительский пост, вот все «дочерние» посты он почему-то считает аттачментами и выдает это уведомление. Решил бороться добавляя поле post_mime_type.
    Оказывается, без категорий и меток тоже неплохо живется, по мне — даже проще ))
    Эдакий микроэксперимент, к чему приведет — пока не знаю )

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Получаю странное уведомление» закрыта для новых ответов.