diff options
author | Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org> | 2015-05-01 00:40:49 +0000 |
---|---|---|
committer | Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org> | 2015-05-01 00:40:49 +0000 |
commit | c64ce3ae8de09092f9570ab88a68fe920b0fd970 (patch) | |
tree | a9959002055a8bdff0ee46bf82ca6a2a39bf00cd /plugins/jetpack/modules/related-posts.php | |
parent | Add easy-table plugin, requested by hwoarang (diff) | |
download | blogs-gentoo-c64ce3ae8de09092f9570ab88a68fe920b0fd970.tar.gz blogs-gentoo-c64ce3ae8de09092f9570ab88a68fe920b0fd970.tar.bz2 blogs-gentoo-c64ce3ae8de09092f9570ab88a68fe920b0fd970.zip |
Update plugins and themes to the latest versions.
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
Diffstat (limited to 'plugins/jetpack/modules/related-posts.php')
-rw-r--r-- | plugins/jetpack/modules/related-posts.php | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/plugins/jetpack/modules/related-posts.php b/plugins/jetpack/modules/related-posts.php new file mode 100644 index 00000000..6aac9d22 --- /dev/null +++ b/plugins/jetpack/modules/related-posts.php @@ -0,0 +1,89 @@ +<?php +/** + * Module Name: Related Posts + * Module Description: Display links to your related content under posts and pages. + * Jumpstart Description: keep visitors engaged on your blog by highlighting relevant and new content at the bottom of each published post. + * First Introduced: 2.9 + * Sort Order: 29 + * Recommendation Order: 9 + * Requires Connection: Yes + * Auto Activate: No + * Module Tags: Recommended + * Feature: Recommended, Jumpstart + */ +class Jetpack_RelatedPosts_Module { + /** + * Class variables + */ + private static $__instance = null; + + /** + * Singleton implementation + * + * @return object + */ + public static function instance() { + if ( ! is_a( self::$__instance, 'Jetpack_RelatedPosts_Module' ) ) + self::$__instance = new Jetpack_RelatedPosts_Module(); + + return self::$__instance; + } + + /** + * Register actions and filters + * + * @uses add_action, add_filter + * @return null + */ + private function __construct() { + add_action( 'jetpack_module_loaded_related-posts', array( $this, 'action_on_load' ) ); + add_action( 'jetpack_activate_module_related-posts', array( $this, 'action_on_activate' ) ); + } + + /** + * This action triggers when module is activated. + * + * @uses Jetpack::init, Jetpack_Sync::reindex_needed, Jetpack_Sync::reindex_trigger + * @return null + */ + public function action_on_activate() { + if ( Jetpack::init()->sync->reindex_needed() ) { + Jetpack::init()->sync->reindex_trigger(); + } + } + + /** + * This action triggers if the module is in an active state, load related posts and options. + * + * @uses Jetpack_RelatedPosts::init, is_admin, Jetpack::enable_module_configurable, Jetpack::module_configuration_load, Jetpack_Sync::sync_posts + * @return null + */ + public function action_on_load() { + require_once 'related-posts/jetpack-related-posts.php'; + Jetpack_RelatedPosts::init(); + + if ( is_admin() ) { + // Enable "Configure" button on module card + Jetpack::enable_module_configurable( __FILE__ ); + Jetpack::module_configuration_load( __FILE__, array( $this, 'module_configuration_load' ) ); + + // Sync new posts + Jetpack_Sync::sync_posts( __FILE__ ); + } + } + + /** + * Redirect configure button to Settings > Reading + * + * @uses wp_safe_redirect, admin_url + * @return null + */ + public function module_configuration_load() { + wp_safe_redirect( admin_url( 'options-reading.php#jetpack_relatedposts' ) ); + exit; + } + +} + +// Do it. +Jetpack_RelatedPosts_Module::instance(); |