PluginProbe
Nested Pages / 3.2.2
Nested Pages v3.2.2
3.3.1 3.2.15 3.2.14 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 All 106 releases
wp-nested-pages / app / Entities / Post / PostSaveActions.php
PostSaveActions.php
44 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace NestedPages\Entities\Post;
3
4 use NestedPages\Config\SettingsRepository;
5 use NestedPages\Entities\PostType\PostTypeRepository;
6
7 /**
8 * WP Actions tied to a Post on Save
9 */
10 class PostSaveActions
11 {
12 /**
13 * Settings Repository
14 * @var object
15 */
16 private $settings;
17
18 /**
19 * Post Type Repository
20 * @var object
21 */
22 private $post_type_repo;
23
24 public function __construct()
25 {
26 $this->settings = new SettingsRepository;
27 $this->post_type_repo = new PostTypeRepository;
28 add_action( 'save_post', [$this, 'defaultNavStatus'], 10, 3);
29 }
30
31 /**
32 * If this is the initial save and the "hide in nav menu by default" option is selected, update the post meta
33 */
34 public function defaultNavStatus($post_id, $post_object, $update)
35 {
36 if ( $update ) return;
37 if ( !$this->settings->defaultHideInNav() ) return;
38 if ( $post_object->post_type !== 'page' ) return;
39 $types = $this->post_type_repo->getPostTypesObject();
40 if ( isset($types['page']) && isset($types['page']->np_enabled) && $types['page']->np_enabled ){
41 update_post_meta($post_id, '_np_nav_status', 'hide');
42 }
43 }
44 }