-
Notifications
You must be signed in to change notification settings - Fork 329
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
135 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
<?php | ||
/** | ||
* Customize_Queried_Post_Info class. | ||
* | ||
* @package CustomizeQueriedPostInfo | ||
*/ | ||
|
||
/** | ||
* Class Customize_Queried_Post_Info. | ||
*/ | ||
class Kirki_Modules_Post_Meta { | ||
|
||
/** | ||
* The object instance. | ||
* | ||
* @static | ||
* @access private | ||
* @since 3.0.0 | ||
* @var object | ||
*/ | ||
private static $instance; | ||
|
||
/** | ||
* Gets an instance of this object. | ||
* Prevents duplicate instances which avoid artefacts and improves performance. | ||
* | ||
* @static | ||
* @access public | ||
* @since 3.0.0 | ||
* @return object | ||
*/ | ||
public static function get_instance() { | ||
if ( ! self::$instance ) { | ||
self::$instance = new self(); | ||
} | ||
return self::$instance; | ||
} | ||
|
||
/** | ||
* Constructor. | ||
* | ||
* @access protected | ||
* @since 3.1.0 | ||
*/ | ||
protected function __construct() { | ||
|
||
add_action( 'customize_preview_init', array( $this, 'customize_preview_init' ) ); | ||
add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ) ); | ||
} | ||
|
||
/** | ||
* Enqueue Customizer control scripts. | ||
* | ||
* @access public | ||
* @since 3.1.0 | ||
*/ | ||
public function enqueue_control_scripts() { | ||
|
||
wp_enqueue_script( 'kirki_post_meta_previewed_controls', trailingslashit( Kirki::$url ) . 'modules/post-meta/customize-controls.js', array( 'jquery', 'customize-controls' ), false, true ); | ||
} | ||
|
||
/** | ||
* Initialize Customizer preview. | ||
* | ||
* @access public | ||
* @since 3.1.0 | ||
*/ | ||
public function customize_preview_init() { | ||
|
||
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_preview_scripts' ) ); | ||
} | ||
|
||
/** | ||
* Enqueue script for Customizer preview. | ||
* | ||
* @access public | ||
* @since 3.1.0 | ||
*/ | ||
public function enqueue_preview_scripts() { | ||
|
||
wp_enqueue_script( 'kirki_post_meta_previewed_preview', trailingslashit( Kirki::$url ) . 'modules/post-meta/customize-preview.js', array( 'jquery', 'customize-preview' ), false, true ); | ||
|
||
$wp_scripts = wp_scripts(); | ||
$queried_post = null; | ||
if ( is_singular() && get_queried_object() ) { | ||
$queried_post = get_queried_object(); | ||
$queried_post->meta = get_post_custom( $queried_post->id ); | ||
} | ||
$wp_scripts->add_data( 'kirki_post_meta_previewed_preview', 'data', sprintf( 'var _customizePostPreviewedQueriedObject = %s;', wp_json_encode( $queried_post ) ) ); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
/* global wp, console */ | ||
( function( api ) { | ||
|
||
var self; | ||
|
||
self = { | ||
queriedPost: new api.Value() | ||
}; | ||
|
||
// Listen for queried-post messages from the preview. | ||
api.bind( 'ready', function() { | ||
api.previewer.bind( 'queried-post', function( queriedPost ) { | ||
self.queriedPost.set( queriedPost || false ); | ||
} ); | ||
} ); | ||
|
||
// Listen for post | ||
self.queriedPost.bind( function( newPost, oldPost ) { | ||
window.kirkiPost = false; | ||
if ( newPost || oldPost ) { | ||
window.kirkiPost = ( newPost ) ? newPost : oldPost; | ||
} | ||
} ); | ||
} )( wp.customize ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
/* global wp, _customizePostPreviewedQueriedObject */ | ||
( function() { | ||
|
||
var self; | ||
|
||
self = { | ||
queriedPost: null | ||
}; | ||
if ( ! _.isUndefined( _customizePostPreviewedQueriedObject ) ) { | ||
self.queriedPost = _customizePostPreviewedQueriedObject; | ||
} | ||
|
||
// Send the queried post object to the Customizer pane when ready. | ||
wp.customize.bind( 'preview-ready', function() { | ||
wp.customize.preview.bind( 'active', function() { | ||
wp.customize.preview.send( 'queried-post', self.queriedPost ); | ||
} ); | ||
} ); | ||
} )( wp.customize ); |