Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require( dirname(__FILE__) . '/wp-load.php' );
- class WP_Edit_Util {
- static function createAndAssignPost($url, $wp_user, $wp_pass, $articles = NULL) {
- // articles['category'] e articles['title']
- // PROVO AD ESEGUIRE IL LOGIN PER WORDPRESS
- // Array degli avvisi
- $notice = array(
- 'categories_count' => 0,
- 'posts_count' => 0,
- 'category_exists' => array(),
- 'post_exists' => array(),
- 'post_has_slug' => array()
- );
- // Mappa per le categorie [Nome categoria - id categoria]
- $categories = array();
- // Mappa per gli articoli
- $posts = array();
- // Url separati per ricavare le categorie...
- $url_categories = $url . "/wp-json/wp/v2/categories";
- $url_new_category = $url . "/wp/v2/categories";
- // ...e gli articoli
- $url_posts = $url . "/wp-json/wp/v2/posts";
- $url_new_post = $url . "/wp/v2/posts";
- // Ricavo tutte le categorie
- $json_categories = file_get_contents($url_categories);
- $list_categories = json_decode($json_categories, true);
- // Ricavo tutti i post
- $json_posts = file_get_contents($url_posts);
- $list_posts = json_decode($json_posts, true);
- // Salvo solo nome e id delle categorie
- foreach ($list_categories as $item) {
- array_push($categories, array('name' => $item['name'], 'id' => $item['id']));
- $notice['categories_count'] += 1;
- }
- // Salvo solo nome, id e categorie collegate ai post
- foreach ($list_posts as $item) {
- array_push($posts, array('title' => $item['title']['rendered'], 'id' => $item['id'], 'categories' => $item['categories']));
- $notice['posts_count'] += 1;
- }
- echo '<br>Ecco le categorie:<br>';
- var_dump($categories);
- echo '<br><br>Ecco i post:<br>';
- var_dump($posts);
- // CATEGORIE
- // Controllo che una categoria che voglio inserire esista giÃ
- foreach ($articles as $single_cat1) {
- // INIZIO DICENDO CHE LA CATEGORIA CHE VOGLIO CONTROLLARE NON ESISTE
- $cat_exs = FALSE;
- $my_desc = '';
- $my_slug_cat = '';
- $my_cat_meta = '';
- // MI SALVO LA CATEGORIA ATTUALE DA CONTROLLARE
- $cat = $single_cat1['category'];
- // CICLO SULLE CATEGORIE ESISTENTI
- foreach ($categories as $single_cat) {
- // SE LA CATEGORIA ATTUALE E' UGUALE A QUELLA CHE STO CONTROLLANDO...
- if ($cat == $single_cat['name']) {
- // AVVISO DEL FATTO CHE LA CATEGORIA CHE VOLEVO INSERIRE ESISTE GIA'
- $cat_exs = true;
- break;
- }
- }
- if ($cat_exs == TRUE) {
- echo '<br>' . $cat . " esiste gia'!<br>";
- array_push($notice['category_exists'], $cat);
- } else {
- echo '<br>Provo ad aggiungere ' . $cat . "...<br>";
- if (isset($single_cat1['description'])) {
- $my_desc = $single_cat1['description'];
- }
- if (isset($single_cat1['cat_slug'])) {
- $my_slug_cat = $single_cat1['cat_slug'];
- }
- if (isset($single_cat1['cat_meta'])) {
- $my_cat_meta = $single_cat1['cat_meta'];
- }
- // LA CATEGORIA NON ESISTE, PER CUI PROVO AD INSERIRLA...
- $curl = curl_init($url_categories);
- $data = array(
- 'name' => $cat,
- 'description' => $my_desc,
- 'slug' => $my_slug_cat
- );
- $content = json_encode($data);
- curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
- curl_setopt($curl, CURLOPT_USERPWD, $wp_user . ':' . $wp_pass);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
- curl_setopt($curl, CURLOPT_POST, true);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
- $json_response = curl_exec($curl);
- curl_close($curl);
- $response = json_decode($json_response, true);
- $notice['categories_count'] += 1;
- }
- }
- // ARTICOLI
- // CICLO SUI TITOLI DEGLI ARTICOLI MIEI PER CONTROLLARE CHE ESSI ESISTANO GIA'
- foreach ($articles as $single_post1) {
- // INIZIO DICENDO CHE IL POST CHE VOGLIO CONTROLLARE NON ESISTE
- $post_exs = FALSE;
- // MI SALVO IL POST ATTUALE DA CONTROLLARE
- $my_post = $single_post1['post_title'];
- $curr_cat = $single_post1['name'];
- $my_slug_post = '';
- $my_post_meta = '';
- // CICLO SUI TITOLI DEGLI ARTICOLI GIA' PRESENTI
- foreach ($posts as $single_post) {
- // SE L'ARTICOLO CHE VOGLIO CONTROLLARE E' UGUALE A QUELLO CHE STO CONTROLLANDO ORA...
- if ($my_post == $single_post['title']) {
- array_push($notice['post_exists'], array('title' => $single_post['title']));
- $post_exs = TRUE;
- break;
- }
- }
- if (isset($single_post1['post_meta'])) {
- $my_post_meta = $single_post1['post_meta'];
- }
- if (isset($single_post1['post_title_slug'])) {
- $my_slug_post = $single_post1['post_title_slug'];
- }
- $id_cat = '';
- foreach ($list_categories as $single_category) {
- if ($single_post1['category'] == $single_category['name']) {
- $id_cat = $single_category['id'];
- break;
- }
- }
- if ($post_exs == TRUE) {
- array_push($notice['post_exists'], $single_post1);
- echo "<br>Il post gia' esiste!";
- // UN POST CON QUESTO TITOLO GIA' ESISTE PER CUI PROVO AD INSERIRLO CON UN DIVERSO SLUG, SE E' DEFINITO
- if ($my_slug_post != '') {
- array_push($notice['post_has_slug'], $my_slug_post);
- $my_post = $my_slug_post;
- // PROVO AD AGGIUNGERE IL NUOVO POST AGGIUNGENDO COME TITOLO QUELLO DELLO SLUG
- $curl = curl_init($url_posts);
- $data = array(
- 'slug' => $my_slug_post,
- 'title' => array(
- 'rendered' => $my_post
- ),
- 'meta' => array($my_post_meta),
- 'categories' => array(intval($id_cat)),
- 'content' => array(
- 'rendered' => 'Prova',
- 'protected' => false
- ),
- 'excerpt' => array(
- 'rendered' => 'Prova',
- 'protected' => false
- ),
- 'type' => 'post'
- );
- echo var_dump($data)."<br>";
- $content = json_encode($data);
- curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
- curl_setopt($curl, CURLOPT_USERPWD, $wp_user . ':' . $wp_pass);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
- curl_setopt($curl, CURLOPT_POST, true);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
- $json_response = curl_exec($curl);
- curl_close($curl);
- $response = json_decode($json_response, true);
- echo "<br>" . var_dump($response);
- }
- } else {
- // IL POST NON ESISTE, PER CUI PROVO AD INSERIRLO...
- echo "<br>Il post non esiste ancora!<br>";
- $curl = curl_init($url_posts);
- $data = array(
- 'slug' => $my_slug_post,
- 'title' => $my_post,
- 'meta' => array($my_post_meta),
- 'categories' => array(intval($id_cat)),
- 'content' => 'Prova',
- 'excerpt' => 'Prova',
- 'type' => 'post'
- );
- echo var_dump($data)."<br>";
- $content = json_encode($data);
- curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
- curl_setopt($curl, CURLOPT_USERPWD, $wp_user . ':' . $wp_pass);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
- curl_setopt($curl, CURLOPT_POST, true);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
- $json_response = curl_exec($curl);
- curl_close($curl);
- $response = json_decode($json_response, true);
- echo "<br>" . var_dump($response);
- }
- }
- var_dump($notice);
- }
- }
- WP_Edit_Util::createAndAssignPost('http://localhost/wordpress', 'daniele', 'nPl9x1o0yvkYmB#o#Dbw&vcn', array(
- array('category' => 'animali',
- 'post_title' => 'I cani',
- 'post_title_slug' => 'i-cani'),
- array('category' => 'Noia',
- 'post_title' => 'Ci risiamo...',
- 'post_title_slug' => 'ci-risiamo'),
- array('category' => 'Facilis dignissimos',
- 'post_title' => 'Possimus ut tenetur eum qui',
- 'post_title_slug' => 'Possimus-ut-tenetur-eum-qui'),
- )
- );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement