<?php if ( ! defined( 'OT_VERSION') ) exit( 'No direct script access allowed' );
/**
* OptionTree Post Formats API
*
* This class loads all the methods and helpers specific to build a the post format metaboxes.
*
* @package OptionTree
* @author Derek Herman <derek@valendesigns.com>
* @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;
/**
* Filter the post formats meta boxes.
*
* @since 2.6.0
*
* @param array $meta_boxes The meta boxes being registered.
* @return array
*/
$meta_boxes = apply_filters( 'ot_recognized_post_format_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 */