* @copyright Copyright (c) 2014, Derek Herman */ if ( ! class_exists( 'OT_Post_Formats' ) ) { class OT_Post_Formats { /** * Class Constructor * * @return void * * @access public * @since 2.3.0 */ public function __construct() { $this->setup_actions(); } /** * Setup the default filters and actions * * @uses add_action() To add various actions * @uses add_filter() To add various filters * * @return void * * @access private * @since 2.3.0 */ private function setup_actions() { // Initialize the meta boxes add_action( 'admin_init', array( $this, 'meta_boxes' ), 2 ); // Setup pings for the link & quote URLs add_filter( 'pre_ping', array( $this, 'pre_ping_post_links' ), 10, 3 ); } /** * Builds the default Meta Boxes. * * @return void * * @access private * @since 2.3.0 */ public function meta_boxes() { // Exit if called outside of WP admin if ( ! is_admin() ) return false; $meta_boxes = array( ot_meta_box_post_format_gallery(), ot_meta_box_post_format_link(), ot_meta_box_post_format_quote(), ot_meta_box_post_format_video(), ot_meta_box_post_format_audio() ); /** * Register our meta boxes using the * ot_register_meta_box() function. */ foreach( $meta_boxes as $meta_box ) { ot_register_meta_box( $meta_box ); } } /** * Setup pings for the link & quote URLs * * @param array $post_links The URLs to ping * @param array $pung Pinged URLs * @param int $post_id Post ID * @return array * * @access public * @since 2.3.0 */ public function pre_ping_post_links( $post_links, $pung, $post_id = null ) { $_link = get_post_meta( $post_id, '_format_link_url', true ); if ( ! empty( $_link ) && ! in_array( $_link, $pung ) && ! in_array( $_link, $post_links ) ) $post_links[] = $_link; $_quote = get_post_meta( $post_id, '_format_quote_source_url', true ); if ( ! empty( $_quote ) && ! in_array( $_quote, $pung ) && ! in_array( $_quote, $post_links ) ) $post_links[] = $_quote; } } } /** * Instantiate The Class * * @since 1.0 */ if ( function_exists( 'ot_register_meta_box' ) ) { new OT_Post_Formats(); } /* End of file ot-post-formats-api.php */ /* Location: ./includes/ot-post-formats-api.php */