Questions tagged «wp-insert-post»

此功能将帖子(和页面)插入数据库。它清除变量,进行一些检查,填写缺少的变量,如日期/时间等。它以数组作为参数,并返回创建的帖子的帖子ID(如果有错误,则返回0)。

5
使用wp_insert_post()时,如何通过图像URL设置特色图像(缩略图)?
浏览wp_insert_post()的函数引用条目时,我注意到它需要的数组中没有参数,这将允许我设置帖子的“功能图像”,并在主题中显示为帖子缩略图。 我已经研究了Bennett先生建议的set_post_thumbnail()之类的函数,但这似乎是WordPress本身和WordPress Codex的相对较新的功能。因此,没有任何资料可以解释如何获取和提供$ thumbnail_id参数。如果这确实是要使用的功能,当我只有图像URL时,可以通过什么方式为它提供有效的$ thumbnail_id参数? 提前致谢!

3
附加分类数据以使用wp_insert_post进行发布
我正在尝试实现一个前端发布系统,该系统在几个下拉选择字段中显示分类数据。在下拉菜单中的每一个通过使用“名”命名的$arg在wp_dropdown_categories()。 wp_dropdown_categories( array( 'taxonomy' => 'location', 'hide_empty' => 0, 'orderby' => 'name', 'order' => 'ASC', 'name' => 'location', ) ); 如您所见,分类法是“位置”,选择名称也是“位置”。 然后,我为每个分类选择下拉列表添加变量,例如post_title,post_content等: $title = trim( $_POST['wpuf_post_title'] ); $content = trim( $_POST['wpuf_post_content'] ); $tags = wpuf_clean_tags( $_POST['wpuf_post_tags'] ); $customcategory = trim( $_POST['customcategory'] ); $cat = trim( $_POST['cat'] ); $location = trim( …

4
批量访问wp_insert_post和add_post_meta的更快方法
我有一个要插入的csv文件,包含约1,500行和97列。完全导入大约需要2-3个小时,如果可以的话,我想改善这一点。目前,对于每一行,我正在为$ 97关联的每一行执行$ post_id = wp_insert_post,然后执行add_post_meta。这是非常低效的... 是否有更好的方法可以使post_id保持post及其post_meta值之间的关系? 现在,我正在使用wamp的本地计算机上尝试此操作,但将其在VPS上运行

4
如何通过编程将特色图片设置为来自外部的自定义帖子
我正在尝试通过PHP提取Wordpress环境之外的图像并将其插入到自定义帖子中。 像wordpress一样,如何将图像移动/上传到wordpress上传目录年日期文件夹格式,并根据自定义帖子将该图像设置为特色图像? 还要将图像上传到自定义帖子库吗? 下面是我的代码 $filename = $image['name']; $target_path = "../wp-content/uploads/"; $target_path = $target_path . $filename; $wp_filetype = wp_check_filetype(basename($filename), null ); $wp_upload_dir = wp_upload_dir(); $attachment = array( 'guid' => $wp_upload_dir['baseurl'] . '/' . basename( $filename ), 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)), 'post_content' => '', 'post_status' => 'inherit', ); …

2
使用wp_defer_term_counting有不利之处吗?
我有一个超过200万个帖子的WordPress数据库。每当我插入新帖子时,我都必须打电话wp_set_object_terms,这需要两秒钟的时间才能执行。我遇到了这篇文章,建议您致电wp_defer_term_counting以跳过术语计数。 如果使用这种方法,对WordPress的功能会产生严重影响吗? 这是帖子中的代码,以防万一链接失效: function insert_many_posts(){ wp_defer_term_counting(true); $tasks = get_default_tasks(); for ($tasks as $task){ $post = array( 'post_title' => $task[content], 'post_author' => $current_user->ID, 'post_content' => '', 'post_type' => 'bpc_default_task', 'post_status' => 'publish' ); $task_id = wp_insert_post( $post ); if ( $task[category] ) //Make sure we're passing an int as the term …

2
wp_insert_post()中的“ meta_input”参数用于什么?
我正在使用wp_insert_post()函数将一些帖子插入wordpress中。 我想在每篇文章中插入一些自定义字段并阅读文档,尽管我使用了meta_info参数,但我尝试过这样的事情: $data = array( 'post_author' => 1, 'post_status' => 'publish', 'post_title' => $post->getTitle(), 'post_content' => $post->getContent(), 'post_category' => $post->getCategory(), 'tags_input' => $post->getTags(), 'meta_input' => array( "_test" => "testx1" ) ); $postID = wp_insert_post( $data ); 该帖子会正确插入并且也有标签。但是没有添加自定义字段。我知道我可以使用add_post_meta()添加它们,但我仍然想知道meta_input参数的用途,因为在插入帖子后我在数据库中搜索了“ testx1”,但找不到任何结果。

5
wp_insert_post的post_date格式正确吗?
使用wp_insert_post(Trac)从前端提交帖子时,定义帖子日期的正确方法是什么? 我的代码段现在正在以mysql时间发布... if (isset ($_POST['date'])) { $postdate = $_POST['Y-m-d']; } else { $postdate = $_POST['2011-12-21']; } // ADD THE FORM INPUT TO $new_post ARRAY $new_post = array( 'post_title' => $title, 'post_content' => $description, 'post_date' => $postdate, 'post_status' => 'publish', 'post_parent' => $parent_id, 'post_author' => get_current_user_id(), ); //SAVE THE POST $pid …

6
检查帖子标题是否存在;如果不存在,则插入帖子;如果存在,则将增量号添加到元
我已经有一个功能,用户可以提交表单并创建自定义帖子... <?php $postTitle = $_POST['post_title']; $submit = $_POST['submit']; if(isset($submit)){ global $user_ID; $new_post = array( 'post_title' => $postTitle, 'post_content' => '', 'post_status' => 'publish', 'post_date' => date('Y-m-d H:i:s'), 'post_author' => '', 'post_type' => 'stuff', 'post_category' => array(0) ); $post_id = wp_insert_post($new_post); add_post_meta($post_id, 'times', '1'); } 我想检查自定义帖子标题是否存在,如果不存在,则继续在meta字段中创建带有#1的帖子,如果确实存在,只需在meta字段中添加1

1
使用wp_insert_post();时如何设置后?
我的主题使用自定义模板来呈现一些内容。要使用此模板,我需要在after_switch_theme激活主题之后创建自己的页面,然后将其分配给它。 这是我的方法: $new_page_title = __('Custom page'); $new_page_content = ''; $new_page_template = 'page-custom.php'; $page_check = get_page_by_title($new_page_title); $new_page = array( 'post_type' => 'page', 'post_title' => $new_page_title, 'post_content' => $new_page_content, 'post_status' => 'publish', 'post_author' => 1, 'post_slug' => 'my-custom-slug' ); if( !isset($page_check->ID) ){ $new_page_id = wp_insert_post($new_page); if(!empty($new_page_template)){ update_post_meta($new_page_id, '_wp_page_template', $new_page_template); } } 但是,页面的提示始终位于标题之后。这意味着,这种the总是custom-page。好像wp_insert_post()不支持子弹,因为代码参考中没有任何内容。 …

1
wp_insert_post添加meta_input
在该页面的文档中,wp_insert_post有一半的更改日志显示以下内容: 从以下版本开始:WordPress 4.4.0现在可以将'meta_input'数组传递到$ postarr以添加帖子元数据。 我正在使用Wordpress 4.4.2。我将尝试通过运行以下代码来添加新帖子: function handle_post($post) { wp_insert_post( array( 'post_title' => $post['title'], 'post_type' => 'werknemers', 'meta_input' => array( array( 'key' => 'name', 'value' => $post['name'] ), array( 'key' => 'city', 'value' => $post['city'] ) ) ) ); } 该帖子已添加到数据库,但没有元数据。我找到了这个堆栈帖子,但是我不知道如何实现if statement。 我也对添加分类法(tax_input)的方式感兴趣。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.