当前位置: 首页 > 知识库问答 >
问题:

在wordpress中从前端添加功能图像

诸葛苏燕
2023-03-14

如何从前端WordPress在自定义文章类型中添加特征图像。有人能帮忙吗?我试过了,但没有得到正确的结果。请帮忙。

 <?php
 if ( isset( $_POST['submitted'] ) && isset( $_POST['post_nonce_field'] ) && wp_verify_nonce( $_POST['post_nonce_field'], 'post_nonce' ) ) {
 global $wpdb;
    if ( trim( $_POST['postTitle'] ) === '' ) {
        $postTitleError = 'Please enter a title.';
        $hasError = true;
    }

    $post_information = array(
        'post_title' => wp_strip_all_tags( $_POST['postTitle'] ),
        'post_content' => $_POST['postContent'],
        'post_type' => 'stories',
        'post_status' => 'publish'
    );

 echo  $post_id =  wp_insert_post( $post_information );
    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
    }
    }
 }
 ?>

<div class="mid-wrapper">

<form action="" id="primaryPostForm" method="POST">

    <fieldset>
        <label for="postTitle"><?php _e('Post Title:', 'framework') ?></label>

        <input type="text" name="postTitle" id="postTitle" class="required" />
    </fieldset>

    <fieldset>
        <label for="postContent"><?php _e('Post Content:', 'framework') ?></label>

        <textarea name="postContent" id="postContent" rows="8" cols="30" class="required"></textarea>
    </fieldset>
 <label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>

    <fieldset>
        <input type="hidden" name="submitted" id="submitted" value="true" />
 <?php wp_nonce_field( 'post_nonce', 'post_nonce_field' ); ?>
        <button type="submit"  name="submitted"><?php _e('Add Post', 'framework') ?></button>
    </fieldset>

</form>

</div>  

如何从前端WordPress在自定义文章类型中添加特征图像。有人能帮忙吗?我试过了,但没有得到正确的结果。请帮忙。

共有1个答案

危阳
2023-03-14
    <?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_status'   => 'draft',         // Choose: publish, preview, future, etc.
        'post_type'     => 'stories'  // 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
    ?>


    <div class="mid-wrapper">

    <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>

    </div>

add this funcion in functions.php
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;
    }
 类似资料:
  • 有什么方法可以使用Rest API为用户添加功能吗? 我是这样创建用户的: 然后,我需要将功能分配给新用户。有没有人有这样的例子? 非常感谢!

  • 我有一个部分在我的wordpress主题我从零开始,在那部分我有一个标题,标语和描述。 我使用以下方式显示它们: 标题: 标语: 我需要一种方式,用户可以写一个较长的网站描述和显示它。 我只在谷歌上找到了如何添加元描述,但那不是我想要的。

  • 我正在为wordpress开发一个插件。这个插件必须有一个插件设置管理部分,但也必须有一个自定义的前端与表单页面。 我是wordpress插件开发领域的新手,但我还没有找到这项任务的具体信息。 有没有办法从插件向前端添加页面,或者需要手动编辑当前模板并添加页面?

  • 我试图从一个外部网站获取帖子,在我自己的网站上显示,我只是通过wordpress类来实现这一点。 我已经设法将外部网站的帖子标题显示在我的网站上,但是,我在显示与自己帖子相关的特色图片时遇到了问题。 任何帮助都将不胜感激。

  • 我正在创建一个wordpress插件,让用户登录并上传文件,在后端管理员中,用户可以登录并设置权限等 这里是php文件生成前端现在im添加这个作为模板和创建前端的事情我想做的是把这个代码也在插件。。,是否有相关的钩子,但我没有找到合适的钩子。。。。

  • 本文向大家介绍如何给Android中的按钮添加图片功能,包括了如何给Android中的按钮添加图片功能的使用技巧和注意事项,需要的朋友参考一下 在layout中建一个my_login.xml文件 代码如下 在Mainactivity中添加如下代码: 以上所述是小编给大家介绍的给Android中的按钮添加图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢