wp/wp-content/plugins/option-tree/includes/class-ot-post-formats.php
author ymh <ymh.work@gmail.com>
Tue, 27 Sep 2022 16:37:53 +0200
changeset 19 3d72ae0968f4
parent 11 bf1778c34b9a
permissions -rw-r--r--
upgrade wordpress to 6.0.2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * OptionTree Post Formats.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * @package OptionTree
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
if ( ! defined( 'OT_VERSION' ) ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	exit( 'No direct script access allowed' );
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
if ( ! class_exists( 'OT_Post_Formats' ) ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
	/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
	 * OptionTree Post Formats class.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
	 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	 * This class loads all the methods and helpers specific to build a the post format metaboxes.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
	 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
	class OT_Post_Formats {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
		/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
		 * Class Constructor
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
		 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
		 * @access    public
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
		 * @since     2.3.0
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
		 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
		public function __construct() {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
			$this->setup_actions();
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
		}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
		/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
		 * Setup the default filters and actions.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
		 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
		 * @uses add_action() To add various actions.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
		 * @uses add_filter() To add various filters.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
		 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
		 * @access private
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
		 * @since  2.3.0
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
		 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
		private function setup_actions() {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
			// Initialize the meta boxes.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
			add_action( 'admin_init', array( $this, 'meta_boxes' ), 2 );
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
			// Setup pings for the link & quote URLs.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
			add_filter( 'pre_ping', array( $this, 'pre_ping_post_links' ), 10, 3 );
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
		}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
		/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
		 * Builds the default Meta Boxes.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
		 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
		 * @access private
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
		 * @since  2.3.0
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
		 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
		public function meta_boxes() {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
			// Exit if called outside of WP admin.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
			if ( ! is_admin() ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
				return false;
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
			}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
			/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
			 * Filter the post formats meta boxes.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
			 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
			 * @since 2.6.0
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
			 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
			 * @param array $meta_boxes The meta boxes being registered.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			 * @return array
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
			 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
			$meta_boxes = apply_filters(
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
				'ot_recognized_post_format_meta_boxes',
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
				array(
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
					ot_meta_box_post_format_gallery(),
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
					ot_meta_box_post_format_link(),
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
					ot_meta_box_post_format_quote(),
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
					ot_meta_box_post_format_video(),
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
					ot_meta_box_post_format_audio(),
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
				)
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
			);
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
			/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			 * Register our meta boxes using the
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
			 * ot_register_meta_box() function.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
			 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
			foreach ( $meta_boxes as $meta_box ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
				ot_register_meta_box( $meta_box );
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
			}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
		}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
		/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
		 * Setup pings for the link & quote URLs
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
		 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
		 * @access public
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
		 * @since  2.3.0
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
		 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
		 * @param  array $post_links The URLs to ping.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
		 * @param  array $pung Pinged URLs.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
		 * @param  int   $post_id Post ID.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
		 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
		public function pre_ping_post_links( $post_links, $pung, $post_id = null ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
			$_link = get_post_meta( $post_id, '_format_link_url', true );
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
			if ( ! empty( $_link ) && ! in_array( $_link, $pung, true ) && ! in_array( $_link, $post_links, true ) ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
				$post_links[] = $_link;
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
			}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
			$_quote = get_post_meta( $post_id, '_format_quote_source_url', true );
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
			if ( ! empty( $_quote ) && ! in_array( $_quote, $pung, true ) && ! in_array( $_quote, $post_links, true ) ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
				$post_links[] = $_quote;
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
			}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
		}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
	}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
}
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
/**
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
 * Instantiate The Class.
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
 *
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
 * @since 1.0
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
 */
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
if ( function_exists( 'ot_register_meta_box' ) ) {
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
	new OT_Post_Formats();
bf1778c34b9a upgrade optiontree
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
}