使用WordPress添加媒体按钮从前端上传精选图片

时间:2014-02-13 作者:devjohn

我想从前端提交自定义帖子。我已经做好了准备让这一切发生。但我想上传wordpress的特色图片表单添加媒体按钮。

代码为

<?php
/*
Template Name: post submition Template

Description: Use this page template to hide the sidebar. Alternatively
you can simply remove all widgets from your sidebar to hide it on
all pages.
*/
?>

<?php get_header(); ?>
<?php 

// Check if the form was submitted
if( \'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty( $_POST[\'action\'] )) {

// Do some minor form validation to make sure there is content
if (isset ($_POST[\'title\'])) { 
    $title =  $_POST[\'title\']; 
} else { 
    echo \'Please enter a title\';
}
if (isset ($_POST[\'description\'])) { 
    $description = $_POST[\'description\']; 
} else { 
    echo \'Please enter the content\'; 
}

// Add the content of the form to $post as an array
$post = array(
    \'post_title\'    => $title,
    \'post_content\'  => $description,
    \'post_category\' => $_POST[\'cat\'],  // Usable for custom taxonomies too
    \'post_status\'   => \'draft\',         // Choose: publish, preview, future, etc.
    \'post_type\'     => \'contast\'  // Use a custom post type if you want to
);
echo $pid = wp_insert_post($post);  // Pass  the value of $post to WordPress the insert function

    if ($_FILES) {
array_reverse($_FILES);
$i = 0;//this will count the posts
foreach ($_FILES as $file => $array) {
    if ($i == 0) $set_feature = 1; //if $i ==0 then we are dealing with the first post
    else $set_feature = 0; //if $i!=0 we are not dealing with the first post
    $newupload = insert_attachment($file,$pid, $set_feature);
    echo $i++; //count posts
    }
    } 


//attachment helper function   

            // http://codex.wordpress.org/Function_Reference/wp_insert_post
    //wp_redirect( \'/submit-2/\' ); // redirect to home page after submit

} // end IF
// Do the wp_insert_post action to insert it
?>

<form action="" method="post" enctype="multipart/form-data">
<p><label for="title">Titolo</label><br />
        <input type="text" id="title" value="" tabindex="1" size="20" name="title" />
        </p>
        <p><label for="description">Testo</label><br />
        <textarea id="description" tabindex="3" name="description" cols="50" rows="6"></textarea>
        </p>

<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<p align="right"><input type="submit" value="Invia" tabindex="6" id="submit" name="submit" /></p>

        <input type="hidden" name="post_type" id="post_type" value="domande" />
    <input type="hidden" name="action" value="post" />
    <?php wp_nonce_field( \'new-post\' ); ?>
</form>

<?php get_footer(); ?>
功能是

function insert_attachment($file_handler,$post_id,$setthumb=\'false\') {
if ($_FILES[$file_handler][\'error\'] !== UPLOAD_ERR_OK){ return __return_false(); 
} 
require_once(ABSPATH . "wp-admin" . \'/includes/image.php\');
require_once(ABSPATH . "wp-admin" . \'/includes/file.php\');
require_once(ABSPATH . "wp-admin" . \'/includes/media.php\');

echo $attach_id = media_handle_upload( $file_handler, $post_id );
//set post thumbnail if setthumb is 1
if ($setthumb == 1) update_post_meta($post_id,\'_thumbnail_id\',$attach_id);
return $attach_id;
    }

1 个回复
SO网友:ewroman

在后面添加以下代码echo $attach_id....

set_post_thumbnail( $post_id , $attach_id);

结束

相关推荐

Show previous month's posts

我已经设法在1月份浏览了本月的帖子,但我正在努力在去年12月获得上个月的帖子。我想这就是问题所在,那就是2014年,而我所追求的职位是2013年(12月)。如果有人能发现问题,我将不胜感激。我浏览了大量的例子,抄本和WordPress论坛,但没有找到任何有用的东西。 <!-- PREVIOUS MONTH NEWS --> <?php $prevMonth = date(\'M\', mktim