Intereting Posts
Удалить действие из короткого кода категория разбиения страницы разбилась внезапно Манипулировать извлеченные данные ajax в php Как отобразить выдержку после списка сообщений внутри столбца панели управления Темы поддержки WordPress.org, возвращающиеся 404 Обновление WordPress 4.3.1 Как удалить строку «on» перед ссылкой последних комментариев? Где разместить стороннюю библиотеку PHP? Пусть редакторы просматривают сообщение в admin, но не могут выполнять сохранение / редактирование как изменить ссылку на некоторые страницы wordpress WordPress Drag n Drop Uploader – Только один файл Преобразование javascript, выполняющего xml-файлы на платформу wordpress Автоматически обрезать изображение в div Исключить дубликаты сообщений в этом запросе SELECT Как добавить настраиваемый мета-ящик ниже поля публикации в CPT, который похож на метатекст публикации и может содержать html?

Удалите все пользовательские сообщения, затем загрузите новый CSV-событий

У меня возникли проблемы с удалением всех сообщений, а затем повторной загрузкой нового CSV-событий в пользовательские типы сообщений типа «события» и удалось собрать вместе совместное решение. Надеемся, это поможет другим с той же проблемой.

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

functions.php

/*--------------------------------------------------------------- Delete post and insert new posts from CSV file ------------------------------------------------------------*/ function jab_admin_notice() { // Add buttons to post type $screen = get_current_screen(); if( 'events' == $screen->post_type && 'edit' == $screen->base ){ echo "<div class='updated'></p>"; echo "<a class='button button-primary' href='".strtok($_SERVER["REQUEST_URI"],'&')."&insert_event_posts'>Insert Posts</a>"; echo "<a class='button button-primary' href='".strtok($_SERVER["REQUEST_URI"],'&')."&delete_event_posts'>delete Posts</a></p></div>"; } } add_action( 'admin_notices', 'jab_admin_notice' ); add_action( "admin_init", function() { global $wpdb; //UPLOADS CSV - ADDS POSTS //check for parameter. if ( isset( $_GET["insert_event_posts"] ) ) { //get csv path $path = "/calendar.csv"; //Open the CSV file $file = fopen(__DIR__ . $path, 'r'); while (($line = fgetcsv($file)) !== FALSE) { //$line is an array of the csv elements $post["id"] = wp_insert_post( array( "post_title" => $line[0], "post_author" => 1, "post_content" => $line[5], "post_type" => 'events', "post_status" => "publish" )); //Update any linked meta data update_post_meta( $post["id"], 'meta-box-startdate', $line[1] .'-'. $line[2]); update_post_meta( $post["id"], 'meta-box-enddate', $line[3] .'-'. $line[4] ); } fclose($file); //check for parameter. } else if( isset( $_GET["delete_event_posts"] ) ) { //REMOVES ALL POST $args = array ( 'post_type' => 'events', 'nopaging' => true ); $query = new WP_Query ($args); while ($query->have_posts ()) { $query->the_post (); $id = get_the_ID (); wp_delete_post ($id, false); } wp_reset_postdata (); } else { //DO NOTHING return; } }); 

Любые предложения были бы замечательными. благодаря