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

  • Вот сегодня возникла магическая беда. Пишу сразу что не являюсь глупцом. Но это реально магия. Обращаюсь к вам в надежде на помощь)

    Вся суть в том что я мне нужно создать запись:

    $thisLink1 = '-vF1YW97Sz0'; // из базы (тип string)
    
    $contentNew = '<iframe width="560" height="315" src="http://www.youtube.com/embed/'.$thisLink1.'" frameborder="0" allowfullscreen></iframe>';
    
    $InPost = array(
    	'post_title' => $Title,  //тут норм
    	'post_content' => $contentNew, //тут проблема!
    	'post_status' => 'publish',
    	'post_author' => 4,
    	'post_category' => array($rubVid)//тут норм
    );
    wp_insert_post($InPost);

    Пост создаётся пустым…. Проверил в var_damp-e тип $contentNew — пишет что string. В базе тип longtext….в чём беда? почему пост пустой создаётся?

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • вот ссылка на сайт http://viraltop.me/

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    На чистой установке фрагмент работает. Предполагаю, что у вас где-то вырезается тег <iframe>.

    Можно обойтись и без него, WordPress сам обрабатывает ссылки с YouTube:

    $contentNew = 'http://www.youtube.com/watch?v='.$thisLink1;

    Если нужно указать ширину и высоту, можно использовать шорткод [embed]:

    $contentNew = '[embed width="560" height="315"]http://www.youtube.com/watch?v='.$thisLink1.'[/embed]';

    http://codex.wordpress.org/Вставка_объектов

    Мне кажется тут дело в другом…но щас попробую ваш вариант.

    Прост вот даже просто текст, которая будет в переменной не вставится в БД (‘post_content’ => $contentNew)….а если написать вот так ‘post_content’ => ‘текст’ , то текст вставится…..странно ваще всё это…
    Есть одна догадка, вот в какой кодировке должен быть php-файл? И у меня эти файлы находятся в отдельной не от wp папке, может это влияет….хотя по логике на это пофиг, т.к. я config правильно вызвал…вообщем магия 🙂

    хах)))Sergey Biryukov вы оказались правы) на в другом доке где в переменной содержится текст проблема остаётся 🙁

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    на в другом доке где в переменной содержится текст проблема остаётся 🙁

    Приведённый фрагмент я проверял так:

    1. Создал в корневом каталоге файл, скопировал туда код.
    2. Добавил в начало строку:
      require 'wp-load.php';
    3. Запустил скрипт, просмотрел созданную запись.
    4. На всякий случай проверил также в режиме Multisite и с разными ролями пользователей.

    Если у вас он подключается по-другому или речь идёт уже о другом фрагменте, выложите весь код на Pastebin и напишите, при каких условиях воспроизводится проблема.

    http://pastebin.com/TpgFdWzE

    Кодировка файла UTF8 без BOM.
    Кодировка WP и БД utf8_general_ci
    Файл лежит в подпапке.

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