Почему дублируются пости?

Привет всем
Написал вот такой скрипт, он получает GET параметри и создает новий пост с изображением.
Но возникла проблема и уже как день сижу над ее решением.
Етот скрипт вместо одного поста создает два.
Не пойму почему так получаета.
Посмотрите пожалуйста на код, и если можете подскажите что я сделал не так?

Часть кода который должен добавлять пост, а добавляет два:


if(isset($_GET)):
$token = isset($_GET['token']) ? $_GET['token'] : '';
$set_img = isset($_GET['url']) ? $_GET['url'] : '';
$referer_site = isset($_GET['referer']) ? $_GET['referer'] : '';
$parse_url_site = parse_url($referer_site);
$set_img_basename = basename($set_img);
$set_img_domain = $parse_url_site['scheme'].'://'.$parse_url_site['host'];
$title_site = isset($_GET['title']) ? $_GET['title'] : '';
$alt_img = isset($_GET['alt']) ? $_GET['alt'] : '';

    if($token == 'QzEK5PJ3/RRO4cuaQQiKKNg5au6SESUSkQOK5w9HKFgH6GxVu1NNilA5TYqoMBbz6sKdZP6eQ4GeLyZ1Ht5S/VrHIISvHXKFPxXNZZmRp1M='):
    // Register Post Data
    $post_img = array();
    $post_img['post_status']   = 'publish';
    $post_img['post_type']     = 'post'; // can be a CPT too
    $post_img['post_title']    = $title_site;
    $post_img['post_category'] = array(141);
    $post_img['post_content']  = '';
    $post_img['post_author']   = get_current_user_id();//1;

    // Create Post
    $post_id = wp_insert_post( $post_img );

    //Add or Update meta data
    if ( !update_post_meta( $post_id, '_Photo Source', $set_img ) ) add_post_meta( $post_id, '_Photo Source', $set_img, true );
    if ( !update_post_meta( $post_id, '_Photo Source Domain', $set_img_domain ) ) add_post_meta( $post_id, '_Photo Source Domain', $set_img_domain, true );

    // add_post_meta( $post_id, '_Photo Source', $set_img, true);
    // add_post_meta( $post_id, '_Photo Source Domain', $set_img_domain, true);

    // Add Featured Image to Post
    $image_url        = $set_img; // Define the image URL here
    $image_name       = $set_img_basename;
    $upload_dir       = wp_upload_dir(); // Set upload folder
    $image_data       = file_get_contents($image_url); // Get image data
    $unique_file_name = wp_unique_filename( $upload_dir['path'], $image_name ); // Generate unique name
    $filename         = basename( $unique_file_name ); // Create image file name

    // Check folder permission and define file location
    if( wp_mkdir_p( $upload_dir['path'] ) ) {
        $file = $upload_dir['path'] . '/' . $filename;
    } else {
        $file = $upload_dir['basedir'] . '/' . $filename;
    }

    // Create the image  file on the server
    file_put_contents( $file, $image_data );

    // Check image file type
    $wp_filetype = wp_check_filetype( $filename, null );

    // Set attachment data
    $attachment = array(
        'post_mime_type' => $wp_filetype['type'],
        'post_title'     => sanitize_file_name( $filename ),
        'post_content'   => '',
        'post_status'    => 'inherit'
    );

    // Create the attachment
    $attach_id = wp_insert_attachment( $attachment, $file, $post_id );

    // Include image.php
    require_once(ABSPATH . 'wp-admin/includes/image.php');

    // Define attachment metadata
    $attach_data = wp_generate_attachment_metadata( $attach_id, $file );

    // Assign metadata to attachment
    wp_update_attachment_metadata( $attach_id, $attach_data );

    // And finally assign featured image to post
    if(set_post_thumbnail( $post_id, $attach_id )){
        echo '<h1 class="text-center">Post was successfully added!</h1>';
    }else{
        echo '<h1 class="text-center">Wrong!</h1>';
    }

    endif;

endif;

Весь код страницы:


<?php

/*

Template Name: _add_post

*/

define("DONOTCACHEPAGE", true);

if (isset($_GET['action']) && $_GET['action'] == 'logout') {

    if (wp_verify_nonce($_GET['nonce'], 'logout')) {

        wp_logout();

        wp_safe_redirect(home_url('/login/?action=loggedout'));

        exit();

    }

}

if (of_get_option('captcha_public') != '' && of_get_option('captcha_private') != '')

    require_once(get_template_directory() . '/recaptchalib.php');

get_header();

if (!is_user_logged_in()): 
// { wp_redirect(home_url()); exit; }

?>

<div class="container">

    <div class="row">

        <div class="col-sm-2"></div>

        <div class="col-sm-8 usercp-wrapper hide">        

            <?php if (isset($_GET['action']) && $_GET['action'] == 'loggedout' && !$_GET['login']) { ?>

                <div class="error-msg-incorrect"><div class="alert alert-success"><strong><?php _e('Logged Out Successfully', 'pinc'); ?></strong></div></div>

            <?php } ?>

            

            <?php 

            if (function_exists('wsl_activate')) {

                do_action('wordpress_social_login');

            }

            ?>

            <?php if (isset($_GET['pw']) && $_GET['pw'] == 'reset') {   ?>

                <div class="error-msg-incorrect"><div class="alert alert-success"><strong><?php _e('Your password has been reset.', 'pinc'); ?></strong></div></div>

            <?php } else if (isset($_GET['registration']) && $_GET['registration'] == 'disabled') {   ?>

                <div class="error-msg-incorrect"><div class="alert alert-warning"><strong><?php _e('User registration is currently closed.', 'pinc'); ?></strong></div></div>

            <?php } else if (isset($_GET['registration']) && $_GET['registration'] == 'done' ) {   ?>

                <div class="error-msg-incorrect"><div class="alert alert-success"><strong><?php _e('To activate account, please check your email for verification link.', 'pinc'); ?></strong></div></div>

            <?php } else if (isset($_GET['email']) && $_GET['email'] == 'unverified' ) {   ?>

                <div class="error-msg-incorrect"><div class="alert alert-warning"><strong><?php _e('Account not activated yet. Please check your email for verification link.', 'pinc'); ?></strong></div></div>

            <?php } else if (isset($_GET['email']) && $_GET['email'] == 'verify') {

                $user = get_user_by('login', $_GET['login']);

                $key = get_user_meta($user->ID, '_Verify Email', true);

                if ($key == $_GET['key']) {

                    delete_user_meta($user->ID, '_Verify Email', $key);

                ?>

                <div class="error-msg-incorrect"><div class="alert alert-success"><strong><?php _e('Verification success. You may login now.', 'pinc'); ?></strong></div></div>

                <?php } else { ?>

                <div class="error-msg-incorrect"><div class="alert alert-warning"><strong><?php _e('Invalid verification key', 'pinc'); ?></strong></div></div>

            <?php }

            } else if (isset($_GET['login']) && $_GET['login'] == 'failed') { ?>

                <div class="error-msg-incorrect"><div class="alert alert-warning"><strong><?php _e('Incorrect Username', 'pinc'); ?>/<?php _e('Password', 'pinc'); if (of_get_option('captcha_public') != '' && of_get_option('captcha_private') != '') { echo '/'; _e('Captcha', 'pinc'); } ?></strong></div></div>

            <?php } ?>

            <div class="error-msg-blank"></div>

            

            <h1<?php if (function_exists('wsl_activate')) echo ' style="border: none"'; ?>><?php _e('Login', 'pinc') ?></h1>

            <?php if (!function_exists('wsl_activate')) echo '<br />'; ?>

            

            <form name="loginform" id="loginform" action="<?php echo site_url('wp-login.php', 'login_post'); ?>" method="post">

                <div class="form-group">

                    <label class="form-label" for="log"><?php _e('Username or Email', 'pinc'); ?></label>

                    <input class="form-control" type="text" name="log" id="log" value="" tabindex="10" />

                </div>

                <div class="form-group">

                    <label class="form-label" for="pwd"><?php _e('Password', 'pinc'); ?> (<a href="<?php echo home_url('/login-lpw/'); ?>"><?php _e('Forgot?', 'pinc'); ?></a>)</label>

                    <input class="form-control" type="password" name="pwd" id="pwd" value="" tabindex="20" />

                </div>

                

                <?php

                if (of_get_option('captcha_public') != '' && of_get_option('captcha_private') != '') {

                    $publickey = of_get_option('captcha_public');

                ?>

                    <script src="https://www.google.com/recaptcha/api.js" async defer></script>

                    <div class="g-recaptcha" data-sitekey="<?php echo $publickey; ?>"></div>

                <?php }    ?>

                

                <br />

                

                <input type="hidden" name="rememberme" id="rememberme" value="forever" />

                <input type="hidden" name="redirect_to" id="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
                <?php //if ($_GET['redirect_to']) { echo esc_attr($_GET['redirect_to']); } else { echo esc_attr(home_url('/')); } ?>

                <input type="hidden" name="nonce" id="nonce" value="<?php echo wp_create_nonce('login'); ?>" />

                <input type="hidden" name="formname" id="formname" value="pinc_loginform" />

                <input type="submit" class="btn btn-success btn-block btn-pinc-custom" name="wp-submit" id="wp-submit" value="<?php _e('Login', 'pinc'); ?>" tabindex="30" />

                <br />

                <p class="text-center">

                <a class="btn btn-grey" href="<?php echo home_url('/signup/'); ?>"><?php _e('Don\'t have an account? Sign Up Now', 'pinc'); ?></a>

                </p>

            </form>

        </div>

        <div class="col-sm-2 hiddex-xs"></div>

    </div>

</div>

<script>

jQuery(document).ready(function($) {

    $('.usercp-wrapper').show();

    $('#log').focus();

});

</script>

<?php else: ?>

<?php 

// function set_img_post() {

if(isset($_GET)):
$token = isset($_GET['token']) ? $_GET['token'] : '';
$set_img = isset($_GET['url']) ? $_GET['url'] : '';
$referer_site = isset($_GET['referer']) ? $_GET['referer'] : '';
$parse_url_site = parse_url($referer_site);
$set_img_basename = basename($set_img);
$set_img_domain = $parse_url_site['scheme'].'://'.$parse_url_site['host'];
$title_site = isset($_GET['title']) ? $_GET['title'] : '';
$alt_img = isset($_GET['alt']) ? $_GET['alt'] : '';

    if($token == 'QzEK5PJ3/RRO4cuaQQiKKNg5au6SESUSkQOK5w9HKFgH6GxVu1NNilA5TYqoMBbz6sKdZP6eQ4GeLyZ1Ht5S/VrHIISvHXKFPxXNZZmRp1M='):
    // Register Post Data
    $post_img = array();
    $post_img['post_status']   = 'publish';
    $post_img['post_type']     = 'post'; // can be a CPT too
    $post_img['post_title']    = $title_site;
    $post_img['post_category'] = array(141);
    $post_img['post_content']  = '';
    $post_img['post_author']   = get_current_user_id();//1;

    // Create Post
    $post_id = wp_insert_post( $post_img );

    //Add or Update meta data
    if ( !update_post_meta( $post_id, '_Photo Source', $set_img ) ) add_post_meta( $post_id, '_Photo Source', $set_img, true );
    if ( !update_post_meta( $post_id, '_Photo Source Domain', $set_img_domain ) ) add_post_meta( $post_id, '_Photo Source Domain', $set_img_domain, true );

    // add_post_meta( $post_id, '_Photo Source', $set_img, true);
    // add_post_meta( $post_id, '_Photo Source Domain', $set_img_domain, true);

    // Add Featured Image to Post
    $image_url        = $set_img; // Define the image URL here
    $image_name       = $set_img_basename;
    $upload_dir       = wp_upload_dir(); // Set upload folder
    $image_data       = file_get_contents($image_url); // Get image data
    $unique_file_name = wp_unique_filename( $upload_dir['path'], $image_name ); // Generate unique name
    $filename         = basename( $unique_file_name ); // Create image file name

    // Check folder permission and define file location
    if( wp_mkdir_p( $upload_dir['path'] ) ) {
        $file = $upload_dir['path'] . '/' . $filename;
    } else {
        $file = $upload_dir['basedir'] . '/' . $filename;
    }

    // Create the image  file on the server
    file_put_contents( $file, $image_data );

    // Check image file type
    $wp_filetype = wp_check_filetype( $filename, null );

    // Set attachment data
    $attachment = array(
        'post_mime_type' => $wp_filetype['type'],
        'post_title'     => sanitize_file_name( $filename ),
        'post_content'   => '',
        'post_status'    => 'inherit'
    );

    // Create the attachment
    $attach_id = wp_insert_attachment( $attachment, $file, $post_id );

    // Include image.php
    require_once(ABSPATH . 'wp-admin/includes/image.php');

    // Define attachment metadata
    $attach_data = wp_generate_attachment_metadata( $attach_id, $file );

    // Assign metadata to attachment
    wp_update_attachment_metadata( $attach_id, $attach_data );

    // And finally assign featured image to post
    if(set_post_thumbnail( $post_id, $attach_id )){
        echo '<h1 class="text-center">Post was successfully added!</h1>';
    }else{
        echo '<h1 class="text-center">Wrong!</h1>';
    }

    endif;

endif;

// }

// add_action( 'init', 'set_img_post' );

// add_action( 'wp_loaded','set_img_post' );

?>

<script>
var tm=4000;
window.setTimeout("window.close()",tm);
</script>

<?php endif; ?>

<?php get_footer(); ?>
Anonymous
Отправить
Ответ на: