コード例 #1
0
    function rbs_ajax_create_article()
    {
        if (isset($_POST['galleryid']) && (int) $_POST['galleryid'] && isset($_POST['categoryid']) && (int) $_POST['categoryid']) {
            $galleryid = intval($_POST['galleryid']);
            $categoryid = intval($_POST['categoryid']);
            $post_info = get_post($galleryid);
            if (gettype($post_info) != 'object') {
                echo '<p><strong>' . __('Post not created. Error: ', 'rbs_gallery') . '</strong><br><p>empty gallery id</p>';
                die;
            }
            $Poster = new PostController();
            $title = $post_info->post_title;
            if (isset($_POST['articletitle']) && $_POST['articletitle']) {
                $title = wp_kses_data($_POST['articletitle']);
            }
            $slug = 'post_' . $post_info->post_name;
            if (isset($_POST['articleslug']) && $_POST['articleslug']) {
                $slug = wp_kses_data($_POST['articleslug']);
            }
            $Poster->set_title($title);
            $Poster->add_category(array($categoryid));
            $Poster->set_type("post");
            $Poster->set_content('[robo-gallery id="' . $galleryid . '"]');
            $Poster->set_author_id(get_current_user_id());
            $Poster->set_post_slug($slug);
            $Poster->set_post_state("publish");
            $Poster->create();
            $posts_id = get_post_meta($galleryid, 'rbs_gallery_id', true);
            if (!$posts_id) {
                $posts_id = array();
            } else {
                $posts_id = json_decode($posts_id, true);
            }
            $postId = $Poster->PC_current_post_id;
            $posts_id[] = $postId;
            update_post_meta($galleryid, 'rbs_gallery_id', json_encode($posts_id, JSON_FORCE_OBJECT));
            if (isset($Poster->errors) && count($Poster->errors)) {
                echo '<p><strong>' . __('Post not created. Error: ', 'rbs_gallery') . '</strong><br>';
                for ($i = 0; $i < count($Poster->errors); $i++) {
                    $error = $Poster->errors[$i];
                    echo ' &nbsp;&nbsp; - ' . $error . '<br>';
                }
                echo '</p>';
            } else {
                echo '<h3>' . __('Post ', 'rbs_gallery') . '"' . $title . '"' . __(' created', 'rbs_gallery') . '</h3>';
                echo '<p>
					<a href="' . esc_url(get_edit_post_link($postId)) . '" class="button button-small" target="_blank">
						' . __('Edit', 'rbs_gallery') . '</a> 
					<a  href="' . esc_url(get_permalink($postId)) . '"  class="button button-small" target="_blank">
						' . __('Preview', 'rbs_gallery') . '</a> 
				</p>';
            }
        } else {
            echo '<p><strong>' . __('Error: input value', 'rbs_gallery') . '</strong></p>';
        }
        die;
    }