Version Description
Release post: https://webberzone.com/blog/contextual-related-posts-v3-0-0/
-
Enhancement:
- Defining
CRP_CACHE_TIME
tofalse
will disable expiry - Introduced wpml-config.xml file. Title and Custom text for blank output can now be translated with Polylang (and potentially WPML)
- Defining
-
Bug fix:
- Exclude on categories did not work
- Posts would trigger a "SHOW FULL COLUMNS FROM" error if they had ' from' in the title
- Manual posts did not work properly - all post types and all posts are properly fetched now
Download this release
Release Info
Developer | Ajay |
Plugin | Contextual Related Posts |
Version | 3.0.6 |
Comparing to | |
See all releases |
Code changes from version 3.0.5 to 3.0.6
- README.md +1 -1
- contextual-related-posts.php +2 -2
- includes/class-crp-query.php +11 -9
- includes/content.php +2 -27
- includes/main-query.php +10 -6
- includes/modules/cache.php +8 -3
- includes/modules/exclusions.php +63 -0
- includes/modules/shortcode.php +1 -0
- languages/contextual-related-posts-en_US.mo +0 -0
- languages/contextual-related-posts-en_US.po +7 -3
- languages/contextual-related-posts-en_US.pot +7 -3
- readme.txt +16 -5
- wpml-config.xml +8 -0
README.md
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
|
9 |
__Requires:__ 5.0
|
10 |
|
11 |
-
__Tested up to:__ 5.
|
12 |
|
13 |
__License:__ [GPL-2.0+](http://www.gnu.org/licenses/gpl-2.0.html)
|
14 |
|
8 |
|
9 |
__Requires:__ 5.0
|
10 |
|
11 |
+
__Tested up to:__ 5.7
|
12 |
|
13 |
__License:__ [GPL-2.0+](http://www.gnu.org/licenses/gpl-2.0.html)
|
14 |
|
contextual-related-posts.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: Contextual Related Posts
|
16 |
* Plugin URI: https://webberzone.com/plugins/contextual-related-posts/
|
17 |
* Description: Display a set of related posts on your website or in your feed. Increase reader retention and reduce bounce rates
|
18 |
-
* Version: 3.0.
|
19 |
* Author: WebberZone
|
20 |
* Author URI: https://webberzone.com
|
21 |
* License: GPL-2.0+
|
@@ -38,7 +38,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
38 |
* @var string Contextual Related Posts Version.
|
39 |
*/
|
40 |
if ( ! defined( 'CRP_VERSION' ) ) {
|
41 |
-
define( 'CRP_VERSION', '3.0.
|
42 |
}
|
43 |
|
44 |
|
15 |
* Plugin Name: Contextual Related Posts
|
16 |
* Plugin URI: https://webberzone.com/plugins/contextual-related-posts/
|
17 |
* Description: Display a set of related posts on your website or in your feed. Increase reader retention and reduce bounce rates
|
18 |
+
* Version: 3.0.6
|
19 |
* Author: WebberZone
|
20 |
* Author URI: https://webberzone.com
|
21 |
* License: GPL-2.0+
|
38 |
* @var string Contextual Related Posts Version.
|
39 |
*/
|
40 |
if ( ! defined( 'CRP_VERSION' ) ) {
|
41 |
+
define( 'CRP_VERSION', '3.0.6' );
|
42 |
}
|
43 |
|
44 |
|
includes/class-crp-query.php
CHANGED
@@ -371,7 +371,7 @@ if ( ! class_exists( 'CRP_Query' ) ) :
|
|
371 |
);
|
372 |
|
373 |
$match_fields_content = array(
|
374 |
-
$this->source_post->post_title,
|
375 |
);
|
376 |
|
377 |
if ( $this->query_args['match_content'] ) {
|
@@ -613,10 +613,11 @@ if ( ! class_exists( 'CRP_Query' ) ) :
|
|
613 |
if ( ! empty( $post_ids ) ) {
|
614 |
$posts = get_posts(
|
615 |
array(
|
616 |
-
'post__in'
|
617 |
-
'fields'
|
618 |
-
'orderby'
|
619 |
-
'
|
|
|
620 |
)
|
621 |
);
|
622 |
$query->found_posts = count( $posts );
|
@@ -666,10 +667,11 @@ if ( ! class_exists( 'CRP_Query' ) ) :
|
|
666 |
if ( ! empty( $post_ids ) ) {
|
667 |
$extra_posts = get_posts(
|
668 |
array(
|
669 |
-
'post__in'
|
670 |
-
'fields'
|
671 |
-
'orderby'
|
672 |
-
'
|
|
|
673 |
)
|
674 |
);
|
675 |
$posts = array_merge( $extra_posts, $posts );
|
371 |
);
|
372 |
|
373 |
$match_fields_content = array(
|
374 |
+
str_ireplace( ' from', '', $this->source_post->post_title ),
|
375 |
);
|
376 |
|
377 |
if ( $this->query_args['match_content'] ) {
|
613 |
if ( ! empty( $post_ids ) ) {
|
614 |
$posts = get_posts(
|
615 |
array(
|
616 |
+
'post__in' => $post_ids,
|
617 |
+
'fields' => $query->get( 'fields' ),
|
618 |
+
'orderby' => 'post__in',
|
619 |
+
'numberposts' => $query->get( 'posts_per_page' ),
|
620 |
+
'post_type' => $query->get( 'post_type' ),
|
621 |
)
|
622 |
);
|
623 |
$query->found_posts = count( $posts );
|
667 |
if ( ! empty( $post_ids ) ) {
|
668 |
$extra_posts = get_posts(
|
669 |
array(
|
670 |
+
'post__in' => $post_ids,
|
671 |
+
'fields' => $query->get( 'fields' ),
|
672 |
+
'orderby' => 'post__in',
|
673 |
+
'numberposts' => '-1',
|
674 |
+
'post_type' => 'any',
|
675 |
)
|
676 |
);
|
677 |
$posts = array_merge( $extra_posts, $posts );
|
includes/content.php
CHANGED
@@ -51,36 +51,11 @@ function crp_content_filter( $content ) {
|
|
51 |
return $content;
|
52 |
}
|
53 |
|
54 |
-
//
|
55 |
-
|
56 |
-
if ( in_array( $post->ID, $exclude_on_post_ids ) ) { // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
|
57 |
return $content; // Exit without adding related posts.
|
58 |
}
|
59 |
|
60 |
-
// If this post type is in the DO NOT DISPLAY list.
|
61 |
-
// If post_types is empty or contains a query string then use parse_str else consider it comma-separated.
|
62 |
-
if ( crp_get_option( 'exclude_on_post_types' ) && false === strpos( crp_get_option( 'exclude_on_post_types' ), '=' ) ) {
|
63 |
-
$exclude_on_post_types = explode( ',', crp_get_option( 'exclude_on_post_types' ) );
|
64 |
-
} else {
|
65 |
-
parse_str( crp_get_option( 'exclude_on_post_types' ), $exclude_on_post_types ); // Save post types in $exclude_on_post_types variable.
|
66 |
-
}
|
67 |
-
|
68 |
-
if ( in_array( $post->post_type, $exclude_on_post_types, true ) ) {
|
69 |
-
return $content; // Exit without adding related posts.
|
70 |
-
}
|
71 |
-
// If the DO NOT DISPLAY meta field is set.
|
72 |
-
$crp_post_meta = get_post_meta( $post->ID, 'crp_post_meta', true );
|
73 |
-
|
74 |
-
if ( isset( $crp_post_meta['crp_disable_here'] ) ) {
|
75 |
-
$crp_disable_here = $crp_post_meta['crp_disable_here'];
|
76 |
-
} else {
|
77 |
-
$crp_disable_here = 0;
|
78 |
-
}
|
79 |
-
|
80 |
-
if ( $crp_disable_here ) {
|
81 |
-
return $content;
|
82 |
-
}
|
83 |
-
|
84 |
$add_to = crp_get_option( 'add_to', false );
|
85 |
|
86 |
// Else add the content.
|
51 |
return $content;
|
52 |
}
|
53 |
|
54 |
+
// Check exclusions.
|
55 |
+
if ( crp_exclude_on( $post ) ) {
|
|
|
56 |
return $content; // Exit without adding related posts.
|
57 |
}
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
$add_to = crp_get_option( 'add_to', false );
|
60 |
|
61 |
// Else add the content.
|
includes/main-query.php
CHANGED
@@ -21,11 +21,8 @@ if ( ! defined( 'WPINC' ) ) {
|
|
21 |
function get_crp( $args = array() ) {
|
22 |
global $post, $crp_settings;
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
$exclude_categories = explode( ',', $args['exclude_categories'] );
|
27 |
-
$args['strict_limit'] = false;
|
28 |
-
}
|
29 |
$defaults = array(
|
30 |
'is_widget' => false,
|
31 |
'is_shortcode' => false,
|
@@ -57,7 +54,12 @@ function get_crp( $args = array() ) {
|
|
57 |
$short_circuit = apply_filters( 'get_crp_short_circuit', $short_circuit, $post, $args );
|
58 |
|
59 |
if ( $short_circuit ) {
|
60 |
-
return
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
|
63 |
// WPML & PolyLang support - change strict limit to false.
|
@@ -227,6 +229,8 @@ function get_crp( $args = array() ) {
|
|
227 |
function get_crp_posts_id( $args = array() ) {
|
228 |
global $wpdb, $post, $crp_settings;
|
229 |
|
|
|
|
|
230 |
// Initialise some variables.
|
231 |
$fields = '';
|
232 |
$where = '';
|
21 |
function get_crp( $args = array() ) {
|
22 |
global $post, $crp_settings;
|
23 |
|
24 |
+
$crp_settings = crp_get_settings();
|
25 |
+
|
|
|
|
|
|
|
26 |
$defaults = array(
|
27 |
'is_widget' => false,
|
28 |
'is_shortcode' => false,
|
54 |
$short_circuit = apply_filters( 'get_crp_short_circuit', $short_circuit, $post, $args );
|
55 |
|
56 |
if ( $short_circuit ) {
|
57 |
+
return ''; // Exit without adding related posts.
|
58 |
+
}
|
59 |
+
|
60 |
+
// Check exclusions.
|
61 |
+
if ( crp_exclude_on( $post ) ) {
|
62 |
+
return ''; // Exit without adding related posts.
|
63 |
}
|
64 |
|
65 |
// WPML & PolyLang support - change strict limit to false.
|
229 |
function get_crp_posts_id( $args = array() ) {
|
230 |
global $wpdb, $post, $crp_settings;
|
231 |
|
232 |
+
$crp_settings = crp_get_settings();
|
233 |
+
|
234 |
// Initialise some variables.
|
235 |
$fields = '';
|
236 |
$where = '';
|
includes/modules/cache.php
CHANGED
@@ -17,13 +17,12 @@ if ( ! defined( 'WPINC' ) ) {
|
|
17 |
*/
|
18 |
function crp_ajax_clearcache() {
|
19 |
|
20 |
-
|
21 |
exit(
|
22 |
wp_json_encode(
|
23 |
array(
|
24 |
'success' => 1,
|
25 |
-
|
26 |
-
'message' => sprintf( _n( '%s entry cleared', '%s entries cleared', $count, 'contextual-related-posts' ), number_format_i18n( $count ) ),
|
27 |
)
|
28 |
)
|
29 |
);
|
@@ -239,6 +238,10 @@ function get_crp_cache( $post_id, $key ) {
|
|
239 |
|
240 |
$value = get_post_meta( $post_id, $meta_key, true );
|
241 |
|
|
|
|
|
|
|
|
|
242 |
if ( $value ) {
|
243 |
$expires = (int) get_post_meta( $post_id, $cache_expires, true );
|
244 |
if ( $expires < time() || empty( $expires ) ) {
|
@@ -247,6 +250,8 @@ function get_crp_cache( $post_id, $key ) {
|
|
247 |
} else {
|
248 |
return $value;
|
249 |
}
|
|
|
|
|
250 |
}
|
251 |
}
|
252 |
|
17 |
*/
|
18 |
function crp_ajax_clearcache() {
|
19 |
|
20 |
+
crp_cache_delete();
|
21 |
exit(
|
22 |
wp_json_encode(
|
23 |
array(
|
24 |
'success' => 1,
|
25 |
+
'message' => __( 'Cache has been cleared', 'contextual-related-posts' ),
|
|
|
26 |
)
|
27 |
)
|
28 |
);
|
238 |
|
239 |
$value = get_post_meta( $post_id, $meta_key, true );
|
240 |
|
241 |
+
if ( ! CRP_CACHE_TIME ) {
|
242 |
+
return $value;
|
243 |
+
}
|
244 |
+
|
245 |
if ( $value ) {
|
246 |
$expires = (int) get_post_meta( $post_id, $cache_expires, true );
|
247 |
if ( $expires < time() || empty( $expires ) ) {
|
250 |
} else {
|
251 |
return $value;
|
252 |
}
|
253 |
+
} else {
|
254 |
+
return false;
|
255 |
}
|
256 |
}
|
257 |
|
includes/modules/exclusions.php
CHANGED
@@ -37,3 +37,66 @@ function crp_exclude_post_ids( $exclude_post_ids ) {
|
|
37 |
}
|
38 |
add_filter( 'crp_exclude_post_ids', 'crp_exclude_post_ids' );
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
38 |
add_filter( 'crp_exclude_post_ids', 'crp_exclude_post_ids' );
|
39 |
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Processes exclusion settings to return if the related posts should not be displayed on the current post.
|
43 |
+
*
|
44 |
+
* @since 3.0.6
|
45 |
+
*
|
46 |
+
* @param int|WP_Post|null $post Post ID or post object. Defaults to global $post. Default null.
|
47 |
+
* @param array $args Parameters in a query string format.
|
48 |
+
* @return bool True if any exclusion setting is matched.
|
49 |
+
*/
|
50 |
+
function crp_exclude_on( $post = null, $args = array() ) {
|
51 |
+
$post = get_post( $post );
|
52 |
+
if ( ! $post ) {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
|
56 |
+
// If this post ID is in the DO NOT DISPLAY list.
|
57 |
+
$exclude_on_post_ids = isset( $args['exclude_on_post_ids'] ) ? $args['exclude_on_post_ids'] : crp_get_option( 'exclude_on_post_ids' );
|
58 |
+
$exclude_on_post_ids = explode( ',', $exclude_on_post_ids );
|
59 |
+
if ( in_array( $post->ID, $exclude_on_post_ids ) ) { // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
|
60 |
+
return true;
|
61 |
+
}
|
62 |
+
|
63 |
+
// If this post type is in the DO NOT DISPLAY list.
|
64 |
+
// If post_types is empty or contains a query string then use parse_str else consider it comma-separated.
|
65 |
+
$exclude_on_post_types = isset( $args['exclude_on_post_types'] ) ? $args['exclude_on_post_types'] : crp_get_option( 'exclude_on_post_types' );
|
66 |
+
if ( $exclude_on_post_types && false === strpos( $exclude_on_post_types, '=' ) ) {
|
67 |
+
$exclude_on_post_types = explode( ',', $exclude_on_post_types );
|
68 |
+
} else {
|
69 |
+
parse_str( $exclude_on_post_types, $exclude_on_post_types ); // Save post types in $exclude_on_post_types variable.
|
70 |
+
}
|
71 |
+
|
72 |
+
if ( in_array( $post->post_type, $exclude_on_post_types, true ) ) {
|
73 |
+
return true;
|
74 |
+
}
|
75 |
+
|
76 |
+
// If this post's category is in the DO NOT DISPLAY list.
|
77 |
+
$exclude_on_categories = isset( $args['exclude_on_categories'] ) ? $args['exclude_on_categories'] : crp_get_option( 'exclude_on_categories' );
|
78 |
+
$exclude_on_categories = explode( ',', $exclude_on_categories );
|
79 |
+
$post_categories = get_the_terms( $post->ID, 'category' );
|
80 |
+
$categories = array();
|
81 |
+
if ( ! empty( $post_categories ) && ! is_wp_error( $post_categories ) ) {
|
82 |
+
$categories = wp_list_pluck( $post_categories, 'term_taxonomy_id' );
|
83 |
+
}
|
84 |
+
if ( ! empty( array_intersect( $exclude_on_categories, $categories ) ) ) {
|
85 |
+
return true;
|
86 |
+
}
|
87 |
+
|
88 |
+
// If the DO NOT DISPLAY meta field is set.
|
89 |
+
$crp_post_meta = get_post_meta( $post->ID, 'crp_post_meta', true );
|
90 |
+
|
91 |
+
if ( isset( $crp_post_meta['crp_disable_here'] ) ) {
|
92 |
+
$crp_disable_here = $crp_post_meta['crp_disable_here'];
|
93 |
+
} else {
|
94 |
+
$crp_disable_here = 0;
|
95 |
+
}
|
96 |
+
|
97 |
+
if ( $crp_disable_here ) {
|
98 |
+
return true;
|
99 |
+
}
|
100 |
+
|
101 |
+
return false;
|
102 |
+
}
|
includes/modules/shortcode.php
CHANGED
@@ -22,6 +22,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
22 |
*/
|
23 |
function crp_shortcode( $atts, $content = null ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
|
24 |
global $crp_settings;
|
|
|
25 |
|
26 |
$atts = shortcode_atts(
|
27 |
array_merge(
|
22 |
*/
|
23 |
function crp_shortcode( $atts, $content = null ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
|
24 |
global $crp_settings;
|
25 |
+
$crp_settings = crp_get_settings();
|
26 |
|
27 |
$atts = shortcode_atts(
|
28 |
array_merge(
|
languages/contextual-related-posts-en_US.mo
CHANGED
Binary file
|
languages/contextual-related-posts-en_US.po
CHANGED
@@ -2,7 +2,7 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contextual Related Posts\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2021-02-
|
6 |
"PO-Revision-Date: \n"
|
7 |
"Last-Translator: Ajay D'Souza\n"
|
8 |
"Language-Team: WebberZone\n"
|
@@ -13,7 +13,7 @@ msgstr ""
|
|
13 |
"X-Poedit-KeywordsList: __;_e;_c;__ngettext;esc_html__;esc_attr__;esc_html_e;"
|
14 |
"esc_attr_e\n"
|
15 |
"X-Poedit-Basepath: ..\n"
|
16 |
-
"X-Generator: Poedit 2.
|
17 |
"X-Poedit-SourceCharset: UTF-8\n"
|
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
@@ -1217,7 +1217,7 @@ msgstr ""
|
|
1217 |
msgid "Follow me"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: includes/main-query.php:
|
1221 |
#, php-format
|
1222 |
msgid ""
|
1223 |
"Powered by <a href=\"%s\" rel=\"nofollow\" style=\"float:none\">Contextual "
|
@@ -1236,6 +1236,10 @@ msgstr ""
|
|
1236 |
msgid "filter argument has been deprecated"
|
1237 |
msgstr ""
|
1238 |
|
|
|
|
|
|
|
|
|
1239 |
#: includes/modules/class-crp-widget.php:31
|
1240 |
msgid "Display Related Posts"
|
1241 |
msgstr ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contextual Related Posts\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2021-02-27 19:43+0000\n"
|
6 |
"PO-Revision-Date: \n"
|
7 |
"Last-Translator: Ajay D'Souza\n"
|
8 |
"Language-Team: WebberZone\n"
|
13 |
"X-Poedit-KeywordsList: __;_e;_c;__ngettext;esc_html__;esc_attr__;esc_html_e;"
|
14 |
"esc_attr_e\n"
|
15 |
"X-Poedit-Basepath: ..\n"
|
16 |
+
"X-Generator: Poedit 2.4.2\n"
|
17 |
"X-Poedit-SourceCharset: UTF-8\n"
|
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
1217 |
msgid "Follow me"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
+
#: includes/main-query.php:190
|
1221 |
#, php-format
|
1222 |
msgid ""
|
1223 |
"Powered by <a href=\"%s\" rel=\"nofollow\" style=\"float:none\">Contextual "
|
1236 |
msgid "filter argument has been deprecated"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: includes/modules/cache.php:25
|
1240 |
+
msgid "Cache has been cleared"
|
1241 |
+
msgstr ""
|
1242 |
+
|
1243 |
#: includes/modules/class-crp-widget.php:31
|
1244 |
msgid "Display Related Posts"
|
1245 |
msgstr ""
|
languages/contextual-related-posts-en_US.pot
CHANGED
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Contextual Related Posts\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2021-02-
|
7 |
"PO-Revision-Date: \n"
|
8 |
"Last-Translator: Ajay D'Souza\n"
|
9 |
"Language-Team: WebberZone\n"
|
@@ -14,7 +14,7 @@ msgstr ""
|
|
14 |
"X-Poedit-KeywordsList: __;_e;_c;__ngettext;esc_html__;esc_html_e;esc_attr__;"
|
15 |
"esc_attr_e\n"
|
16 |
"X-Poedit-Basepath: ..\n"
|
17 |
-
"X-Generator: Poedit 2.
|
18 |
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
|
@@ -1217,7 +1217,7 @@ msgstr ""
|
|
1217 |
msgid "Follow me"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: includes/main-query.php:
|
1221 |
#, php-format
|
1222 |
msgid ""
|
1223 |
"Powered by <a href=\"%s\" rel=\"nofollow\" style=\"float:none\">Contextual "
|
@@ -1236,6 +1236,10 @@ msgstr ""
|
|
1236 |
msgid "filter argument has been deprecated"
|
1237 |
msgstr ""
|
1238 |
|
|
|
|
|
|
|
|
|
1239 |
#: includes/modules/class-crp-widget.php:31
|
1240 |
msgid "Display Related Posts"
|
1241 |
msgstr ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Contextual Related Posts\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2021-02-27 19:43+0000\n"
|
7 |
"PO-Revision-Date: \n"
|
8 |
"Last-Translator: Ajay D'Souza\n"
|
9 |
"Language-Team: WebberZone\n"
|
14 |
"X-Poedit-KeywordsList: __;_e;_c;__ngettext;esc_html__;esc_html_e;esc_attr__;"
|
15 |
"esc_attr_e\n"
|
16 |
"X-Poedit-Basepath: ..\n"
|
17 |
+
"X-Generator: Poedit 2.4.2\n"
|
18 |
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
|
1217 |
msgid "Follow me"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
+
#: includes/main-query.php:190
|
1221 |
#, php-format
|
1222 |
msgid ""
|
1223 |
"Powered by <a href=\"%s\" rel=\"nofollow\" style=\"float:none\">Contextual "
|
1236 |
msgid "filter argument has been deprecated"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: includes/modules/cache.php:25
|
1240 |
+
msgid "Cache has been cleared"
|
1241 |
+
msgstr ""
|
1242 |
+
|
1243 |
#: includes/modules/class-crp-widget.php:31
|
1244 |
msgid "Display Related Posts"
|
1245 |
msgstr ""
|
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Tags: related posts, related, related articles, contextual related posts, similar posts, related posts widget
|
3 |
Contributors: webberzone, Ajay
|
4 |
Donate link: https://ajaydsouza.com/donate/
|
5 |
-
Stable tag: 3.0.
|
6 |
Requires at least: 5.0
|
7 |
-
Tested up to: 5.
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv2 or later
|
10 |
|
@@ -174,12 +174,23 @@ You can insert the related posts anywhere in your post using the `[crp]` shortco
|
|
174 |
|
175 |
== Changelog ==
|
176 |
|
177 |
-
= 3.0.
|
178 |
|
179 |
Release post: [https://webberzone.com/blog/contextual-related-posts-v3-0-0/](https://webberzone.com/blog/contextual-related-posts-v3-0-0/)
|
180 |
|
|
|
|
|
|
|
|
|
181 |
* Bug fix:
|
182 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
* Forced `.crp_related figure` margin to 0
|
184 |
|
185 |
= 3.0.4 =
|
@@ -241,5 +252,5 @@ For the changelog of earlier versions, please refer to the separate changelog.tx
|
|
241 |
|
242 |
== Upgrade Notice ==
|
243 |
|
244 |
-
= 3.0.
|
245 |
Bug fixes. Please read the release post on https://webberzone.com
|
2 |
Tags: related posts, related, related articles, contextual related posts, similar posts, related posts widget
|
3 |
Contributors: webberzone, Ajay
|
4 |
Donate link: https://ajaydsouza.com/donate/
|
5 |
+
Stable tag: 3.0.6
|
6 |
Requires at least: 5.0
|
7 |
+
Tested up to: 5.7
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv2 or later
|
10 |
|
174 |
|
175 |
== Changelog ==
|
176 |
|
177 |
+
= 3.0.6 =
|
178 |
|
179 |
Release post: [https://webberzone.com/blog/contextual-related-posts-v3-0-0/](https://webberzone.com/blog/contextual-related-posts-v3-0-0/)
|
180 |
|
181 |
+
* Enhancement:
|
182 |
+
* Defining `CRP_CACHE_TIME` to `false` will disable expiry
|
183 |
+
* Introduced wpml-config.xml file. Title and Custom text for blank output can now be translated with Polylang (and potentially WPML)
|
184 |
+
|
185 |
* Bug fix:
|
186 |
+
* Exclude on categories did not work
|
187 |
+
* Posts would trigger a "SHOW FULL COLUMNS FROM" error if they had ' from' in the title
|
188 |
+
* Manual posts did not work properly - all post types and all posts are properly fetched now
|
189 |
+
|
190 |
+
= 3.0.5 =
|
191 |
+
|
192 |
+
* Bug fix:
|
193 |
+
* Certain posts would trigger a "SHOW FULL COLUMNS FROM" error
|
194 |
* Forced `.crp_related figure` margin to 0
|
195 |
|
196 |
= 3.0.4 =
|
252 |
|
253 |
== Upgrade Notice ==
|
254 |
|
255 |
+
= 3.0.6 =
|
256 |
Bug fixes. Please read the release post on https://webberzone.com
|
wpml-config.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<wpml-config>
|
2 |
+
<admin-texts>
|
3 |
+
<key name="crp_settings">
|
4 |
+
<key name="title" />
|
5 |
+
<key name="blank_output_text" />
|
6 |
+
</key>
|
7 |
+
</admin-texts>
|
8 |
+
</wpml-config>
|