如果你需要制作一个前端提交内容的表单,文本编辑器自然不可避免的要用到wp_editor。

但是如果直接调用这个函数会出现一些问题,第一个,由于在前端使用,比如你在一个自定义的页面模板中使用,那么上传的文件会附属到这个页面上,而不是新创建的文章上。同样也会导致另一个问题,由于wp_editor默认了编辑的内容是当前页面,所以如果是非管理员用户,是无法上传文件的,因为通常页面是由管理员创建的。

实际上,我们需要并不是编辑当前的页面,而是利用wp_editor这样一个编辑器,编辑文本,上传文件。然后将内容传递到wp_insert_post创建文章。

研究WordPress后台发布文章的代码后,发现后台是在打开new-post.php页面后就默认创建了一个自动草稿,然后再更新这篇草稿。

因此在前台,我们如果要上传附件,并附属到新建的文章中我们也需要这样做。

首先引入,并创建默认文章

 <?php require_once( ABSPATH . 'wp-admin/includes/post.php' ); $post = get_default_post_to_edit( 'post', true ); $post_ID = $post->ID; wp_editor( '', 'content'); ?>

如此wp编辑器就绑定到新建的文章而不是当前的页面了。然后,我们使用wp_update_post来更新这篇文章,而不是新建一篇文章。

因此可以在表单中添加:

<input type=”hidden” name=”post_ID” value=”<?php echo $post_ID?>” />

然后获取到内容:

 <?php $post = array( 'ID' =>$_POST['post_ID'], //获取传递过来的需要更新的文章id 'post_author' => $user_id, //用户,一般定义为当前用户 'post_title' => $_POST['title'], 'post_content' => $_POST['content'],// 获取wp_editor中的内容 'post_category' => array($_POST['cat']), 'tags_input' => str_replace(',',',',$_POST['post_tags']), 'post_status' => 'pending', // 'post_type' => $_POST['post_type'] ); $new_post_id = wp_update_post( $post ); ?>

注意:上述表单并不完整,许多变量没有定义,不能直接复制使用。这里讲的是WordPress编辑器前台上传文件并绑定到文章的问题。


新软师兄 » WordPress 前端前台使用wp_editor上传文件并附属绑定到文章
50T免费网盘资源大集合【持续更中~~~~】:点击查看

dase kand pornhan.mobi xvideo desi gay pcso 2pm result today pinoytvfriends.com where i can watch bad romeo كلام فى النيك wfporn.com قصص محارم حديثة busporn porngugu.mobi indian sexx vedios sex ka video noticieroporno.com himachal pradesh sex com
nero hentai hentaitgp.com ламия хентай www.mom xxx.com alohaporn.me sahara knite mature fucking tubepatrolporn.com bhabi sex indian girl sex gotporn.mobi xnxx family strocks ang probinsyano july 20 2022 full episode youtube pilipinoteleserye.com ano ang pambansang sasakyan ng pilipinas
احلي سكس محارم pornxporn.org نيك فلاحى multi.xnxx alohaporn.net telugu sex chart سكس قصيرات arabysexy.org نيك نقاب www assames sex com umora.info desi sexy bhabi 8teenx bukaporn.com india hot sex videos