PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 3.0
Admin Columns v3.0
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Column / UsedByMenu.php
codepress-admin-columns / classes / Column Last commit date
Comment 9 years ago Link 9 years ago Media 9 years ago Post 9 years ago User 9 years ago ActionColumnHelper.php 9 years ago Actions.php 9 years ago AjaxValue.php 9 years ago CustomField.php 9 years ago Meta.php 9 years ago Placeholder.php 9 years ago Taxonomy.php 9 years ago UsedByMenu.php 9 years ago WooCommercePlaceholder.php 9 years ago
UsedByMenu.php
74 lines
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit;
5 }
6
7 /**
8 * Column displaying the menus the item is used in. Supported by all object types that
9 * can be referenced in menus (i.e. posts).
10 *
11 * @since 2.2.5
12 */
13 class AC_Column_UsedByMenu extends AC_Column {
14
15 public function __construct() {
16 $this->set_type( 'column-used_by_menu' );
17 $this->set_label( __( 'Used by Menu', 'codepress-admin-columns' ) );
18 }
19
20 /**
21 * @see AC_Column::get_raw_value()
22 * @since 2.2.5
23 */
24 function get_raw_value( $object_id ) {
25 $object_type = $this->get_post_type();
26
27 if ( ! $object_type ) {
28 $object_type = $this->get_taxonomy();
29 }
30
31 if ( ! $object_type ) {
32 $object_type = $this->get_list_screen()->get_meta_type();
33 }
34
35 $menu_item_ids = get_posts( array(
36 'post_type' => 'nav_menu_item',
37 'posts_per_page' => -1,
38 'post_status' => 'publish',
39 'fields' => 'ids',
40 'meta_query' => array(
41 array(
42 'key' => '_menu_item_object_id',
43 'value' => $object_id,
44 ),
45 array(
46 'key' => '_menu_item_object',
47 'value' => $object_type,
48 ),
49 ),
50 ) );
51
52 if ( ! $menu_item_ids ) {
53 return false;
54 }
55
56 $menu_ids = wp_get_object_terms( $menu_item_ids, 'nav_menu', array( 'fields' => 'ids' ) );
57
58 if ( ! $menu_ids || is_wp_error( $menu_ids ) ) {
59 return false;
60 }
61
62 return $menu_ids;
63 }
64
65 public function register_settings() {
66 $this->add_setting( new AC_Settings_Column_LinkToMenu( $this ) );
67 }
68
69 public function is_valid() {
70 return in_array( $this->get_list_screen()->get_meta_type(), array( 'post', 'user', 'term', 'comment' ) );
71 }
72
73 }
74