WP_INSERT_POST из данных формы, используя WPDB->GetResults

У меня есть ряд пользовательских таблиц, в которых хранятся данные об операциях ликеро-водочного завода в той же базе данных MySQL, что и мой Wordpress. Я хотел бы использовать WPDB->GetResults, а затем WP_INSERT_POST, чтобы взять данные формы и создать собственный тип сообщения из определенных записей таблицы ликеро-водочного завода. У меня есть форма HTML, пытающаяся отправить запрос в файл PHP (код ниже). Я замечаю, что даже не вижу PHP при открытии веб-страницы. Должно быть что-то не так с этим. При отладке отправки формы я хорош до тех пор, пока не вызову $.ajax({, но я думаю, что файл .php меня сбивает.

- Новичок делает все возможное

    <!DOCTYPE html>
<html>
<body>

<p>Goofball</p>
<?php
require('header.php');
require('mydomain/test/wp-includes/wp-db.php')

if(isset($_POST['mashId'])){
    $mashId = $_REQUEST['mashId']; 
    new_mash_post($mashId);
 }

function new_mash_post($mashId) {
    // Initialize the page ID to -1. This indicates no action has been taken.
    $post_id = -1;

    $mashes = $wpdb->get_results( 
    "
    SELECT * 
    FROM mash a
    INNER JOIN mashbill b ON a.mashId = b.mashId
    INNER JOIN mash_ferm_junc c ON a.mashId = c.mashId
    WHERE a.mashId = $mashId
    "
    );

    $oldmashid = 0; 
    foreach($mashes as $mash){

        if($oldmashid != 0){
            $oldmashid = $mash->mashId;
            $slug = $mash->mashId;
            $title = $mash->mashId;
            $author_id = 1;

            // If the page doesn't already exist, then create it
            if( null == get_page_by_title( $title ) ) {

                // Set the post ID so that we know the post was created successfully
                $post_id = wp_insert_post(
                array(
                'comment_status'    =>  'closed',   
                'ping_status'       =>  'closed',
                'post_author'       =>  $author_id,
                'post_name'     =>  $slug,
                'post_title'        =>  $title,
                'post_status'       =>  'publish',
                'post_type'     =>  'your_bottle'
                )
                );

                $json_result = array( 'success' => true, 'post_id' => $post_id);
                                echo json_encode( $json_result );

            // Otherwise, we'll stop
            } else {

                // Arbitrarily use -2 to indicate that the page with the title already exists
                    $post_id = -2;
                    echo json_encode("failed");

            } // end if


        }   //end if mashId is new
    } //end for loop over selection results


} // end programmatically_create_post
?>

</body>
</html>

person Ian Newton    schedule 11.08.2015    source источник
comment
Спасибо всем тем, кто уже задавал подобные вопросы. Я спрашиваю только потому, что не смог решить свои проблемы на [WordPress.org][1], [другая ветка][3], [эта страница][4]. [1]: codex.wordpress.org/Function_Reference/wp_insert_post [3]: stackoverflow.com/questions/16634528/ [4]: ​​tommcfarlin.com/programmatically-create-a -post-in-wordpress   -  person Ian Newton    schedule 12.08.2015