Intereting Posts
Как сделать должности не классифицированными Разрешить пользователям регистрироваться в многопользовательском режиме через WooCommerce, используя тот же адрес электронной почты WP_Query не получает все сообщения, только помеченные сообщения Использовать add_action в шаблоне Meta Box multi флажок в шаблоне Пользовательские типы сообщений, таксономии и постоянные ссылки Разница между темой и плагином? Навальные сообщения вставки очень медленные и пропускают записи Перенаправление на пост после публикации или обновления опубликованного сообщения Программа Tv с CPT и настраиваемым полем Проблема с добавлением нового типа сообщения В чем разница между $ post_id и get_the_ID ()? При активации дочерней темы какие базовые настройки необходимо сбросить, т.е. Пользовательские меню и т. Д.? Пользовательское полевое изображение вместо миниатюры сообщений на странице категории Разбиение страницы на WP_query, не отображающее ссылки на навигацию

Динамически создавать сообщения через 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"; } ?>