mbis

Set custom permalink on wp_insert_post

May 15th, 2019 (edited)
553
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function pm_set_custom_permalink($post_id, $post, $update) {
  2.     global $permalink_manager_uris;
  3.  
  4.     // Do not trigger when the post is updated
  5.     if($update) { return; }
  6.  
  7.     // Do not do anything if post is autosaved
  8.     if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; }
  9.  
  10.     // Ignore auto-drafts & removed posts
  11.     if(in_array($post->post_status, array('auto-draft', 'trash'))) { return; }
  12.  
  13.     // Update only selected product post type permalinks
  14.     // if(!empty($post->post_type) && $post->post_type !== 'product') { return; }
  15.  
  16.     if(!empty($permalink_manager_uris) && empty($permalink_manager_uris[$post_id])) {
  17.         $default_uri = Permalink_Manager_URI_Functions_Post::get_default_post_uri($post_id);
  18.  
  19.         if($default_uri) {
  20.             Permalink_Manager_URI_Functions::save_single_uri($post_id, $default_uri, false, true);
  21.         }
  22.     }
  23. }
  24. add_action('wp_insert_post', 'pm_set_custom_permalink', 100, 3);
Add Comment
Please, Sign In to add comment