Version Description
Download this release
Release Info
Developer | mitchoyoshitaka |
Plugin | Yet Another Related Posts Plugin (YARPP) |
Version | 4.0.3b4 |
Comparing to | |
See all releases |
Code changes from version 4.0.3b2 to 4.0.3b4
- class-admin.php +11 -3
- class-core.php +31 -16
- readme.txt +4 -1
- yarpp-templates/yarpp-template-example.php +1 -1
- yarpp-templates/yarpp-template-list.php +1 -1
- yarpp-templates/yarpp-template-photoblog.php +1 -1
- yarpp-templates/yarpp-template-random.php +1 -1
- yarpp-templates/yarpp-template-thumbnail.php +1 -1
- yarpp-templates/yarpp-template-wpml.php +1 -1
- yarpp.php +2 -2
class-admin.php
CHANGED
@@ -69,8 +69,14 @@ class YARPP_Admin {
|
|
69 |
// new in 3.0.12: add settings link to the plugins page
|
70 |
add_filter('plugin_action_links', array( $this, 'settings_link' ), 10, 2);
|
71 |
|
72 |
-
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
// new in 3.3: properly enqueue scripts for admin:
|
76 |
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
|
@@ -242,7 +248,9 @@ class YARPP_Admin {
|
|
242 |
wp_enqueue_style( 'yarpp_options', plugins_url( 'options.css', __FILE__ ), array(), $version );
|
243 |
wp_enqueue_script( 'yarpp_options', plugins_url( 'js/options.js', __FILE__ ), array('jquery'), $version );
|
244 |
}
|
245 |
-
|
|
|
|
|
246 |
wp_enqueue_script( 'yarpp_metabox', plugins_url( 'js/metabox.js', __FILE__ ), array('jquery'), $version );
|
247 |
}
|
248 |
}
|
69 |
// new in 3.0.12: add settings link to the plugins page
|
70 |
add_filter('plugin_action_links', array( $this, 'settings_link' ), 10, 2);
|
71 |
|
72 |
+
$metabox_post_types = $this->core->get_option( 'auto_display_post_types' );
|
73 |
+
if ( !in_array( 'post', $metabox_post_types ) )
|
74 |
+
$metabox_post_types[] = 'post';
|
75 |
+
|
76 |
+
// new in 3.0: add meta box
|
77 |
+
foreach ( $metabox_post_types as $post_type ) {
|
78 |
+
add_meta_box( 'yarpp_relatedposts', __( 'Related Posts' , 'yarpp') . ' <span class="postbox-title-action"><a href="' . esc_url( admin_url('options-general.php?page=yarpp') ) . '" class="edit-box open-box">' . __( 'Configure' ) . '</a></span>', array( $this, 'metabox' ), $post_type, 'normal' );
|
79 |
+
}
|
80 |
|
81 |
// new in 3.3: properly enqueue scripts for admin:
|
82 |
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
|
248 |
wp_enqueue_style( 'yarpp_options', plugins_url( 'options.css', __FILE__ ), array(), $version );
|
249 |
wp_enqueue_script( 'yarpp_options', plugins_url( 'js/options.js', __FILE__ ), array('jquery'), $version );
|
250 |
}
|
251 |
+
|
252 |
+
$metabox_post_types = $this->core->get_option( 'auto_display_post_types' );
|
253 |
+
if ( !is_null($screen) && ($screen->id == 'post' || in_array( $screen->id, $metabox_post_types )) ) {
|
254 |
wp_enqueue_script( 'yarpp_metabox', plugins_url( 'js/metabox.js', __FILE__ ), array('jquery'), $version );
|
255 |
}
|
256 |
}
|
class-core.php
CHANGED
@@ -380,7 +380,7 @@ class YARPP {
|
|
380 |
|
381 |
public function get_template_data( $file ) {
|
382 |
$headers = array(
|
383 |
-
'name' => 'Template
|
384 |
'description' => 'Description',
|
385 |
'author' => 'Author',
|
386 |
'uri' => 'Author URI',
|
@@ -649,6 +649,27 @@ class YARPP {
|
|
649 |
* UTILITIES
|
650 |
*/
|
651 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
652 |
private $post_types = null;
|
653 |
function get_post_types( $field = 'name' ) {
|
654 |
if ( is_null($this->post_types) ) {
|
@@ -821,8 +842,6 @@ class YARPP {
|
|
821 |
// if we're already in a YARPP loop, stop now.
|
822 |
if ( $this->cache->is_yarpp_time() || $this->cache_bypass->is_yarpp_time() )
|
823 |
return false;
|
824 |
-
|
825 |
-
global $wp_query, $pagenow;
|
826 |
|
827 |
$this->enforce();
|
828 |
|
@@ -852,10 +871,9 @@ class YARPP {
|
|
852 |
$this->active_cache->begin_yarpp_time($reference_ID, $args);
|
853 |
}
|
854 |
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
$wp_query = new WP_Query();
|
860 |
if ( YARPP_NO_RELATED == $cache_status ) {
|
861 |
// If there are no related posts, get no query
|
@@ -869,7 +887,7 @@ class YARPP {
|
|
869 |
'post_type' => ( isset($args['post_type']) ? $args['post_type'] : $this->get_post_types() )
|
870 |
));
|
871 |
}
|
872 |
-
$this->prep_query( $current_query->is_feed );
|
873 |
$related_query = $wp_query; // backwards compatibility
|
874 |
$related_count = $related_query->post_count;
|
875 |
|
@@ -904,11 +922,9 @@ class YARPP {
|
|
904 |
} else {
|
905 |
$this->active_cache->end_yarpp_time(); // YARPP time is over... :(
|
906 |
}
|
907 |
-
|
908 |
-
|
909 |
-
$
|
910 |
-
wp_reset_postdata();
|
911 |
-
$pagenow = $current_pagenow; unset($current_pagenow);
|
912 |
|
913 |
if ( $related_count > 0 && $promote_yarpp && $domain != 'metabox' )
|
914 |
$output .= "<p>".sprintf(__("Related posts brought to you by <a href='%s'>Yet Another Related Posts Plugin</a>.",'yarpp'), 'http://yarpp.org')."</p>\n";
|
@@ -1014,9 +1030,7 @@ class YARPP {
|
|
1014 |
* @param (array) $args
|
1015 |
* @param (bool) $echo
|
1016 |
*/
|
1017 |
-
function display_demo_related($args = array(), $echo = true) {
|
1018 |
-
global $wp_query;
|
1019 |
-
|
1020 |
if ( $this->cache_bypass->demo_time ) // if we're already in a demo YARPP loop, stop now.
|
1021 |
return false;
|
1022 |
|
@@ -1032,6 +1046,7 @@ class YARPP {
|
|
1032 |
$output .= "yarpp-related-{$domain}";
|
1033 |
$output .= "'>\n";
|
1034 |
|
|
|
1035 |
$wp_query = new WP_Query();
|
1036 |
$wp_query->query('');
|
1037 |
|
380 |
|
381 |
public function get_template_data( $file ) {
|
382 |
$headers = array(
|
383 |
+
'name' => 'YARPP Template',
|
384 |
'description' => 'Description',
|
385 |
'author' => 'Author',
|
386 |
'uri' => 'Author URI',
|
649 |
* UTILITIES
|
650 |
*/
|
651 |
|
652 |
+
private $current_post;
|
653 |
+
private $current_query;
|
654 |
+
private $current_pagenow;
|
655 |
+
// so we can return to normal later
|
656 |
+
function save_post_context() {
|
657 |
+
global $wp_query, $pagenow, $post;
|
658 |
+
$this->current_query = $wp_query;
|
659 |
+
$this->current_pagenow = $pagenow;
|
660 |
+
$this->current_post = $post;
|
661 |
+
}
|
662 |
+
function restore_post_context() {
|
663 |
+
global $wp_query, $pagenow, $post;
|
664 |
+
if ( isset($this->current_post) ) {
|
665 |
+
$post = $this->current_post;
|
666 |
+
setup_postdata( $post );
|
667 |
+
unset($this->current_post);
|
668 |
+
}
|
669 |
+
$pagenow = $this->current_pagenow; unset($this->current_pagenow);
|
670 |
+
$wp_query = $this->current_query; unset($this->current_query);
|
671 |
+
}
|
672 |
+
|
673 |
private $post_types = null;
|
674 |
function get_post_types( $field = 'name' ) {
|
675 |
if ( is_null($this->post_types) ) {
|
842 |
// if we're already in a YARPP loop, stop now.
|
843 |
if ( $this->cache->is_yarpp_time() || $this->cache_bypass->is_yarpp_time() )
|
844 |
return false;
|
|
|
|
|
845 |
|
846 |
$this->enforce();
|
847 |
|
871 |
$this->active_cache->begin_yarpp_time($reference_ID, $args);
|
872 |
}
|
873 |
|
874 |
+
$this->save_post_context();
|
875 |
+
|
876 |
+
global $wp_query;
|
|
|
877 |
$wp_query = new WP_Query();
|
878 |
if ( YARPP_NO_RELATED == $cache_status ) {
|
879 |
// If there are no related posts, get no query
|
887 |
'post_type' => ( isset($args['post_type']) ? $args['post_type'] : $this->get_post_types() )
|
888 |
));
|
889 |
}
|
890 |
+
$this->prep_query( $this->current_query->is_feed );
|
891 |
$related_query = $wp_query; // backwards compatibility
|
892 |
$related_count = $related_query->post_count;
|
893 |
|
922 |
} else {
|
923 |
$this->active_cache->end_yarpp_time(); // YARPP time is over... :(
|
924 |
}
|
925 |
+
|
926 |
+
unset( $related_query );
|
927 |
+
$this->restore_post_context();
|
|
|
|
|
928 |
|
929 |
if ( $related_count > 0 && $promote_yarpp && $domain != 'metabox' )
|
930 |
$output .= "<p>".sprintf(__("Related posts brought to you by <a href='%s'>Yet Another Related Posts Plugin</a>.",'yarpp'), 'http://yarpp.org')."</p>\n";
|
1030 |
* @param (array) $args
|
1031 |
* @param (bool) $echo
|
1032 |
*/
|
1033 |
+
function display_demo_related($args = array(), $echo = true) {
|
|
|
|
|
1034 |
if ( $this->cache_bypass->demo_time ) // if we're already in a demo YARPP loop, stop now.
|
1035 |
return false;
|
1036 |
|
1046 |
$output .= "yarpp-related-{$domain}";
|
1047 |
$output .= "'>\n";
|
1048 |
|
1049 |
+
global $wp_query;
|
1050 |
$wp_query = new WP_Query();
|
1051 |
$wp_query->query('');
|
1052 |
|
readme.txt
CHANGED
@@ -260,6 +260,9 @@ If you are a bilingual speaker of English and another language and an avid user
|
|
260 |
= 4.0.3 =
|
261 |
* Bugfix: on sites where custom templates are not available, the "thumbnails" display option would get reset when visiting the YARPP settings page
|
262 |
* [Bugfix](http://wordpress.org/support/topic/yarpp-css-is-delayed-or-doesnt-load): the CSS for YARPP's thumbnails display would load at the foot of the page, and therefore would cause some style-flashing. This is fixed for automatic includes, but not for widgets or manual calls.
|
|
|
|
|
|
|
263 |
* Updated Polish localization
|
264 |
|
265 |
= 4.0.2 =
|
@@ -297,7 +300,7 @@ If you are a bilingual speaker of English and another language and an avid user
|
|
297 |
* A new design for the template chooser
|
298 |
* Example code display is now hidden by default; turn them back on from the "screen options" tab.
|
299 |
* A new "copy templates" button allows one-button installation of bundled templates into the current theme, if filesystem permissions make it possible.
|
300 |
-
* Header information in YARPP custom templates are now displayed to users in the settings UI. Available fields are `Template
|
301 |
* Code cleanup:
|
302 |
* Settings screen UI have been rewritten to use `div`s rather than `table`s!
|
303 |
* Inline help in settings screen now use WordPress pointers
|
260 |
= 4.0.3 =
|
261 |
* Bugfix: on sites where custom templates are not available, the "thumbnails" display option would get reset when visiting the YARPP settings page
|
262 |
* [Bugfix](http://wordpress.org/support/topic/yarpp-css-is-delayed-or-doesnt-load): the CSS for YARPP's thumbnails display would load at the foot of the page, and therefore would cause some style-flashing. This is fixed for automatic includes, but not for widgets or manual calls.
|
263 |
+
* Restoration of the `$post` global after YARPP is now more robust. Fixes the display of incorrect metadata on some complex themes.
|
264 |
+
* YARPP template files no longer recognize `Template Name` fields in their headers, instead using `YARPP Template`. This is to avoid confusion with regular page templates.
|
265 |
+
* Added "Related Posts" meta box to other "auto display" post types
|
266 |
* Updated Polish localization
|
267 |
|
268 |
= 4.0.2 =
|
300 |
* A new design for the template chooser
|
301 |
* Example code display is now hidden by default; turn them back on from the "screen options" tab.
|
302 |
* A new "copy templates" button allows one-button installation of bundled templates into the current theme, if filesystem permissions make it possible.
|
303 |
+
* Header information in YARPP custom templates are now displayed to users in the settings UI. Available fields are `YARPP Template`, `Description`, `Author`, `Author URI`, in the same format as plugin and theme file headers. See bundled templates for examples.
|
304 |
* Code cleanup:
|
305 |
* Settings screen UI have been rewritten to use `div`s rather than `table`s!
|
306 |
* Inline help in settings screen now use WordPress pointers
|
yarpp-templates/yarpp-template-example.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Template
|
4 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
5 |
Description: A simple example YARPP template.
|
6 |
*/
|
1 |
<?php
|
2 |
/*
|
3 |
+
YARPP Template: Simple
|
4 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
5 |
Description: A simple example YARPP template.
|
6 |
*/
|
yarpp-templates/yarpp-template-list.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Template
|
4 |
Description: This template returns the related posts as a comma-separated list.
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/
|
1 |
<?php
|
2 |
/*
|
3 |
+
YARPP Template: List
|
4 |
Description: This template returns the related posts as a comma-separated list.
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/
|
yarpp-templates/yarpp-template-photoblog.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Template
|
4 |
Description: Requires the Yet Another Photoblog plugin
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/ ?>
|
1 |
<?php
|
2 |
/*
|
3 |
+
YARPP Template: Yet Another Photoblog
|
4 |
Description: Requires the Yet Another Photoblog plugin
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/ ?>
|
yarpp-templates/yarpp-template-random.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Template
|
4 |
Description: This template gives you a random other post in case there are no related posts
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/ ?>
|
1 |
<?php
|
2 |
/*
|
3 |
+
YARPP Template: Random
|
4 |
Description: This template gives you a random other post in case there are no related posts
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/ ?>
|
yarpp-templates/yarpp-template-thumbnail.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Template
|
4 |
Description: Requires a theme which supports post thumbnails
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/ ?>
|
1 |
<?php
|
2 |
/*
|
3 |
+
YARPP Template: Thumbnails
|
4 |
Description: Requires a theme which supports post thumbnails
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/ ?>
|
yarpp-templates/yarpp-template-wpml.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Template
|
4 |
Description: An example template for use with the WPML plugin
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/
|
1 |
<?php
|
2 |
/*
|
3 |
+
YARPP Template: WPML
|
4 |
Description: An example template for use with the WPML plugin
|
5 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
6 |
*/
|
yarpp.php
CHANGED
@@ -3,13 +3,13 @@
|
|
3 |
Plugin Name: Yet Another Related Posts Plugin
|
4 |
Plugin URI: http://yarpp.org/
|
5 |
Description: Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. Now with Now with thumbnail support built-in!
|
6 |
-
Version: 4.0.
|
7 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
8 |
Author URI: http://mitcho.com/
|
9 |
Donate link: http://tinyurl.com/donatetomitcho
|
10 |
*/
|
11 |
|
12 |
-
define('YARPP_VERSION', '4.0.
|
13 |
define('YARPP_DIR', dirname(__FILE__));
|
14 |
define('YARPP_NO_RELATED', ':(');
|
15 |
define('YARPP_RELATED', ':)');
|
3 |
Plugin Name: Yet Another Related Posts Plugin
|
4 |
Plugin URI: http://yarpp.org/
|
5 |
Description: Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. Now with Now with thumbnail support built-in!
|
6 |
+
Version: 4.0.3b4
|
7 |
Author: mitcho (Michael Yoshitaka Erlewine)
|
8 |
Author URI: http://mitcho.com/
|
9 |
Donate link: http://tinyurl.com/donatetomitcho
|
10 |
*/
|
11 |
|
12 |
+
define('YARPP_VERSION', '4.0.3b4');
|
13 |
define('YARPP_DIR', dirname(__FILE__));
|
14 |
define('YARPP_NO_RELATED', ':(');
|
15 |
define('YARPP_RELATED', ':)');
|