Intereting Posts
Две петли на разных страницах делают то же самое, но работает только одна страница связать последнее сообщение с первым сообщением Результат поиска с другого сайта WordPress Многостраничный сайт WordPress, разрабатывающий локальные и синхронизирующие изменения в реальном времени wp_enqueue_script () не работает с AJAX set_post_thumbnail_size в процентах, а не в пикселях? Вытягивающие сообщения, помеченные аналогичным названием создать страницу, которая отображает список категорий title + короткое описание? Бесконечная прокрутка / ленивая загрузка с Галерея NextGen Следующий и предыдущий продукт только из текущей подкатегории Как предотвратить виджет от эха в неправильном положении в DOM Параметры плагина с googlemap iframe Добавление новой страницы в плагин Сохранить текущее сообщение с помощью пользовательской кнопки сохранения Отображение сообщений, относящихся к другим сообщениям по таксономическому термину?

Динамически создавать сообщения через XML-файл

Я новичок в wordpress / php, и я пытаюсь динамически создавать новые сообщения через XML-файл.

Xml, с которым я работаю, – это один .

Файл периодически обновляется в течение дня в режиме FILO (новый элемент добавляется сверху, а нижний – нажатием), и сейчас у нас есть кто-то вручную, создающий новые сообщения каждые несколько часов, захватывая несколько значений в каждом элементе.

Так что мне интересно, могу ли я автоматизировать этот процесс?

Всякий раз, когда этот файл обновляется. WordPress создаст новое сообщение только с новым элементом.

Я могу вытащить значения из xml-файла, но мне не удается создать запись динамически, а также установить ее, чтобы она создавала новые элементы, поэтому у меня не будет дубликатов.

Кроме того, я не уверен, что это повлияет на большую часть кода, но я использую плагин ACF , так что есть и некоторые настраиваемые поля в сообщении.

Заранее спасибо.

Solutions Collecting From Web of "Динамически создавать сообщения через XML-файл"

Да. Из вашего описания выясняется, что все требования к автоматизации этого процесса находятся на своем месте.

Данные предоставляются через XML, который может быть проанализирован с помощью PHP на необходимый заголовок, тело, мета компоненты. [поиск]

WordPress поддерживает программные функции вставки / удаления / редактирования сообщений, так что часть довольно проста. [WP Codex]

Теперь вам просто нужен PHP-разработчик для написания кода для ваших спецификаций.

Я понял, как создать пост динамически. Я не знаю, насколько это оптимально, но он выполняет свою работу.

Я поместил всю необходимую информацию в переменные / массивы и добавил их в цикл for, который выполняет вставку. Он проходит через весь XML-файл, но останавливается и выходит из цикла, если дело доходит до сообщения с тем же заголовком (я знаю, что это, вероятно, не лучший идентификатор), таким образом он не будет создавать несколько из такой же почта. как только он сломается, он сообщает пользователю, сколько сообщений было создано:

$flag = true; for($i=0; $i<24; $i++){ if(!get_page_by_title($b[$i]->title, OBJECT, post)){ //check what category it's in. if(stristr($feedKeywordsArray[$i],"news")){ $category = 3; } elseif(stristr($feedKeywordsArray[$i], "live")){ $category =4; } elseif(stristr($feedKeywordsArray[$i], "insider")){ $category =5; } elseif(stristr($feedKeywordsArray[$i], "local")){ $category =6; } elseif(stristr($feedKeywordsArray[$i], "spotlight")){ $category =7; } else{ $category=1; } $my_post = array( 'post_title' => $b[$i]->title, 'post_content' => $b[$i]->description, 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array($category), 'tags_input' => $feedKeywordsArray[$i] ); // Insert the post into the database. $post_id = wp_insert_post( $my_post ); echo "<h1> Post: '" . $b[$i]->title . "' added</h1>"; if($post_id>0){ update_field('excerpt', (string)($b[$i]->description), $post_id); update_field('vamp-thumbnail', (string)($thumbnail[$i]), $post_id); update_field('vamp-video', str_replace("#autostart=on;", "#autostart=off;hidecompanion=on;autoadv=off;",(string)($a[$i][0])), $post_id); } } else{ $flag = false; echo "<h2> Coming Out of the for loop after creating " . $i . " successful post(s).</h2>"; break; } } if($flag){ echo "Created all post"; } ?>