SHOW:
|
|
- or go back to the newest paste.
| 1 | function pm_stop_product_uri($bool, $post) {
| |
| 2 | - | if(!empty($post) && $post->post_type == 'product' && $post->post_title == 'Product') {
|
| 2 | + | if(!empty($post) && $post->post_type == 'product' && empty($post->post_content)) {
|
| 3 | return false; | |
| 4 | } | |
| 5 | ||
| 6 | return $bool; | |
| 7 | } | |
| 8 | add_filter('permalink_manager_allow_new_post_uri', 'pm_stop_product_uri', 9, 2);
| |
| 9 | add_filter('permalink_manager_allow_update_post_uri', 'pm_stop_product_uri', 9, 2);
| |
| 10 | ||
| 11 | function pm_set_custom_permalink($post_id, $post) {
| |
| 12 | global $permalink_manager_uris; | |
| 13 | ||
| 14 | // Update only selected product post type permalinks | |
| 15 | if(!empty($post->post_type) && $post->post_type !== 'product') { return; }
| |
| 16 | ||
| 17 | // Do not do anything if post is autosaved | |
| 18 | if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; }
| |
| 19 | ||
| 20 | // Do not do anything if the post is manually updated/saved from "Edit product" page | |
| 21 | if(isset($_POST['custom_uri']) || isset($_POST['permalink-manager-edit-uri-element-id'])) { return; }
| |
| 22 | ||
| 23 | if(!empty($permalink_manager_uris)) {
| |
| 24 | $default_uri = Permalink_Manager_URI_Functions_Post::get_default_post_uri($post_id); | |
| 25 | ||
| 26 | if($default_uri) {
| |
| 27 | $permalink_manager_uris[$post_id] = $default_uri; | |
| 28 | update_option('permalink-manager-uris', $permalink_manager_uris);
| |
| 29 | } | |
| 30 | } | |
| 31 | } | |
| 32 | add_action('save_post', 'pm_set_custom_permalink', 100, 2); |