[wp-trac] [WordPress Trac] #19373: wp_insert_post() should not contain current_user_can() checks

WordPress Trac noreply at wordpress.org
Fri Apr 12 08:54:06 UTC 2019


#19373: wp_insert_post() should not contain current_user_can() checks
-------------------------+-----------------------------
 Reporter:  alexkingorg  |       Owner:  (none)
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  Future Release
Component:  Taxonomy     |     Version:  3.0
 Severity:  major        |  Resolution:
 Keywords:  has-patch    |     Focuses:
-------------------------+-----------------------------

Comment (by kevinwhoffman):

 I just wasted hours trying to figure out why terms were not being assigned
 when `wp_insert_post()` was called via WP Cron. After finding this ticket,
 I discovered that a user capability check is preventing terms from being
 assigned because there is no user in WP Cron.

 For those looking to assign terms from a custom taxonomy to a post via WP
 Cron, you will have to call `wp_set_post_terms()` after `wp_insert_post()`
 as mentioned in the original report. Here is a snippet that allows you to
 assign terms using the same post array that you would normally pass to
 `wp_insert_post()`:

 {{{#!php
 foreach( $post_array['tax_input'] as $taxonomy => $terms ) {
         wp_set_post_terms( $post_id, $terms, $taxonomy  );
 }
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/19373#comment:48>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list