Version Description
- Fix filter.
- Add check for empty content.
Download this release
Release Info
| Developer | ViktorFroberg |
| Plugin | |
| Version | 1.2.4 |
| Comparing to | |
| See all releases | |
Code changes from version 1.2.3 to 1.2.4
- readme.txt +8 -3
- yoast-seo-acf-content-analysis.php +15 -15
- yoast-seo-plugin.js +4 -4
readme.txt
CHANGED
|
@@ -2,8 +2,8 @@
|
|
| 2 |
Contributors: ViktorFroberg, marol87, pekz0r, angrycreative
|
| 3 |
Tags: Angry Creative, Yoast SEO, Yoast, SEO, ACF, Advanced Custom Fields
|
| 4 |
Requires at least: 4.0
|
| 5 |
-
Tested up to: 4.5
|
| 6 |
-
Stable tag: 1.2.
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
|
@@ -18,12 +18,13 @@ Requires version 3.0 or later of Yoast SEO plugin.
|
|
| 18 |
= Filters =
|
| 19 |
`ysacf_exclude_fields`: exclude acf fields from Yoast scoring. Should return array of field names.
|
| 20 |
|
| 21 |
-
Example: exclude text-color
|
| 22 |
|
| 23 |
`
|
| 24 |
add_filter('ysacf_exclude_fields', function(){
|
| 25 |
return array(
|
| 26 |
'text_color',
|
|
|
|
| 27 |
);
|
| 28 |
});
|
| 29 |
`
|
|
@@ -36,6 +37,10 @@ add_filter('ysacf_exclude_fields', function(){
|
|
| 36 |
|
| 37 |
== Changelog ==
|
| 38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
= 1.2.3 =
|
| 40 |
* Fix PHP warnings.
|
| 41 |
* Works with WordPress 4.5
|
| 2 |
Contributors: ViktorFroberg, marol87, pekz0r, angrycreative
|
| 3 |
Tags: Angry Creative, Yoast SEO, Yoast, SEO, ACF, Advanced Custom Fields
|
| 4 |
Requires at least: 4.0
|
| 5 |
+
Tested up to: 4.5.2
|
| 6 |
+
Stable tag: 1.2.4
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
| 18 |
= Filters =
|
| 19 |
`ysacf_exclude_fields`: exclude acf fields from Yoast scoring. Should return array of field names.
|
| 20 |
|
| 21 |
+
Example: exclude the text-color and background_image fields from Yoast scoring.
|
| 22 |
|
| 23 |
`
|
| 24 |
add_filter('ysacf_exclude_fields', function(){
|
| 25 |
return array(
|
| 26 |
'text_color',
|
| 27 |
+
'background_image'
|
| 28 |
);
|
| 29 |
});
|
| 30 |
`
|
| 37 |
|
| 38 |
== Changelog ==
|
| 39 |
|
| 40 |
+
= 1.2.4 =
|
| 41 |
+
* Fix filter.
|
| 42 |
+
* Add check for empty content.
|
| 43 |
+
|
| 44 |
= 1.2.3 =
|
| 45 |
* Fix PHP warnings.
|
| 46 |
* Works with WordPress 4.5
|
yoast-seo-acf-content-analysis.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
Plugin Name: ACF-Content Analysis for Yoast SEO
|
| 4 |
Plugin URI: http://angrycreative.se
|
| 5 |
Description: Ensure that Yoast SEO analysize all ACF content including Flexible Content and Repeaters.
|
| 6 |
-
Version: 1.2.
|
| 7 |
Author: ViktorFroberg, marol87, pekz0r, angrycreative
|
| 8 |
Author URI: http://angrycreative.se
|
| 9 |
License: GPL
|
|
@@ -28,7 +28,7 @@ class AC_Yoast_SEO_ACF_Content_Analysis
|
|
| 28 |
* @since 0.1.0
|
| 29 |
* @var string
|
| 30 |
*/
|
| 31 |
-
const VERSION = '1.2.
|
| 32 |
/**
|
| 33 |
* Unique identifier for the plugin.
|
| 34 |
* This value is used as the text domain when internationalizing strings of text. It should
|
|
@@ -38,7 +38,7 @@ class AC_Yoast_SEO_ACF_Content_Analysis
|
|
| 38 |
* @var string
|
| 39 |
*/
|
| 40 |
public $plugin_slug = 'ysacf';
|
| 41 |
-
|
| 42 |
/**
|
| 43 |
* Holds the global `$pagenow` variable's value.
|
| 44 |
*
|
|
@@ -61,15 +61,15 @@ class AC_Yoast_SEO_ACF_Content_Analysis
|
|
| 61 |
);
|
| 62 |
|
| 63 |
function __construct(){
|
| 64 |
-
|
| 65 |
add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'));
|
| 66 |
add_action( 'admin_print_scripts-post-new.php', array($this, 'enqueue_admin_scripts') , 999 );
|
| 67 |
add_action( 'admin_print_scripts-post.php', array($this, 'enqueue_admin_scripts'), 999 );
|
| 68 |
add_action( 'wp_ajax_' . $this->plugin_slug . '_get_fields', array($this, 'ajax_get_fields') );
|
| 69 |
if(isset($GLOBALS['pagenow'])) {
|
| 70 |
-
$this->pagenow = $GLOBALS['pagenow'];
|
| 71 |
}
|
| 72 |
-
|
| 73 |
}
|
| 74 |
function get_excluded_fields() {
|
| 75 |
return apply_filters( 'ysacf_exclude_fields', array() );
|
|
@@ -82,15 +82,15 @@ class AC_Yoast_SEO_ACF_Content_Analysis
|
|
| 82 |
function get_field_data($fields) {
|
| 83 |
|
| 84 |
$data = '';
|
| 85 |
-
if($fields) {
|
| 86 |
foreach($fields as $key =>$item) {
|
| 87 |
|
| 88 |
-
if(in_array($key, $this->get_excluded_fields()) ){
|
| 89 |
continue;
|
| 90 |
} else {
|
| 91 |
switch(gettype($item)) {
|
| 92 |
case 'string':
|
| 93 |
-
$data = $data.' '.$item;
|
| 94 |
break;
|
| 95 |
|
| 96 |
case 'array':
|
|
@@ -109,14 +109,14 @@ class AC_Yoast_SEO_ACF_Content_Analysis
|
|
| 109 |
|
| 110 |
$data = $data.' '.$this->get_field_data($item);
|
| 111 |
}
|
| 112 |
-
|
| 113 |
break;
|
| 114 |
}
|
| 115 |
}
|
| 116 |
-
}
|
| 117 |
}
|
| 118 |
-
|
| 119 |
-
|
| 120 |
return $data;
|
| 121 |
}
|
| 122 |
|
|
@@ -126,7 +126,7 @@ class AC_Yoast_SEO_ACF_Content_Analysis
|
|
| 126 |
|
| 127 |
$fields = get_fields( $pid );
|
| 128 |
|
| 129 |
-
wp_send_json( $this->get_field_data( $fields ) );
|
| 130 |
}
|
| 131 |
|
| 132 |
/**
|
|
@@ -156,7 +156,7 @@ class AC_Yoast_SEO_ACF_Content_Analysis
|
|
| 156 |
'ajax_action' => $this->plugin_slug . '_get_fields'
|
| 157 |
));
|
| 158 |
}
|
| 159 |
-
|
| 160 |
}
|
| 161 |
|
| 162 |
}
|
| 3 |
Plugin Name: ACF-Content Analysis for Yoast SEO
|
| 4 |
Plugin URI: http://angrycreative.se
|
| 5 |
Description: Ensure that Yoast SEO analysize all ACF content including Flexible Content and Repeaters.
|
| 6 |
+
Version: 1.2.4
|
| 7 |
Author: ViktorFroberg, marol87, pekz0r, angrycreative
|
| 8 |
Author URI: http://angrycreative.se
|
| 9 |
License: GPL
|
| 28 |
* @since 0.1.0
|
| 29 |
* @var string
|
| 30 |
*/
|
| 31 |
+
const VERSION = '1.2.4';
|
| 32 |
/**
|
| 33 |
* Unique identifier for the plugin.
|
| 34 |
* This value is used as the text domain when internationalizing strings of text. It should
|
| 38 |
* @var string
|
| 39 |
*/
|
| 40 |
public $plugin_slug = 'ysacf';
|
| 41 |
+
|
| 42 |
/**
|
| 43 |
* Holds the global `$pagenow` variable's value.
|
| 44 |
*
|
| 61 |
);
|
| 62 |
|
| 63 |
function __construct(){
|
| 64 |
+
|
| 65 |
add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'));
|
| 66 |
add_action( 'admin_print_scripts-post-new.php', array($this, 'enqueue_admin_scripts') , 999 );
|
| 67 |
add_action( 'admin_print_scripts-post.php', array($this, 'enqueue_admin_scripts'), 999 );
|
| 68 |
add_action( 'wp_ajax_' . $this->plugin_slug . '_get_fields', array($this, 'ajax_get_fields') );
|
| 69 |
if(isset($GLOBALS['pagenow'])) {
|
| 70 |
+
$this->pagenow = $GLOBALS['pagenow'];
|
| 71 |
}
|
| 72 |
+
|
| 73 |
}
|
| 74 |
function get_excluded_fields() {
|
| 75 |
return apply_filters( 'ysacf_exclude_fields', array() );
|
| 82 |
function get_field_data($fields) {
|
| 83 |
|
| 84 |
$data = '';
|
| 85 |
+
if(!empty($fields)) {
|
| 86 |
foreach($fields as $key =>$item) {
|
| 87 |
|
| 88 |
+
if(in_array((string)$key, $this->get_excluded_fields()) ){
|
| 89 |
continue;
|
| 90 |
} else {
|
| 91 |
switch(gettype($item)) {
|
| 92 |
case 'string':
|
| 93 |
+
$data = $data.' '.$item;
|
| 94 |
break;
|
| 95 |
|
| 96 |
case 'array':
|
| 109 |
|
| 110 |
$data = $data.' '.$this->get_field_data($item);
|
| 111 |
}
|
| 112 |
+
|
| 113 |
break;
|
| 114 |
}
|
| 115 |
}
|
| 116 |
+
}
|
| 117 |
}
|
| 118 |
+
|
| 119 |
+
|
| 120 |
return $data;
|
| 121 |
}
|
| 122 |
|
| 126 |
|
| 127 |
$fields = get_fields( $pid );
|
| 128 |
|
| 129 |
+
wp_send_json( $this->get_field_data( $fields ) );
|
| 130 |
}
|
| 131 |
|
| 132 |
/**
|
| 156 |
'ajax_action' => $this->plugin_slug . '_get_fields'
|
| 157 |
));
|
| 158 |
}
|
| 159 |
+
|
| 160 |
}
|
| 161 |
|
| 162 |
}
|
yoast-seo-plugin.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
jQuery(window).on('YoastSEO:ready', function () {
|
| 2 |
var fieldData = "";
|
| 3 |
YoastSEO_ACF_Content_Analysis = function() {
|
| 4 |
-
|
| 5 |
YoastSEO.app.registerPlugin( 'ACF_Content_Analysis', {status: 'loading'} );
|
| 6 |
this.appendACFFields();
|
| 7 |
-
}
|
| 8 |
|
| 9 |
YoastSEO_ACF_Content_Analysis.prototype.appendACFFields = function() {
|
| 10 |
|
|
@@ -13,7 +13,7 @@ jQuery(window).on('YoastSEO:ready', function () {
|
|
| 13 |
url: yoast_acf_settings.ajax_url,
|
| 14 |
type: 'POST',
|
| 15 |
dataType: 'JSON',
|
| 16 |
-
data: {
|
| 17 |
postId : yoast_acf_settings.id,
|
| 18 |
action: yoast_acf_settings.ajax_action
|
| 19 |
}
|
|
@@ -36,7 +36,7 @@ jQuery(window).on('YoastSEO:ready', function () {
|
|
| 36 |
};
|
| 37 |
|
| 38 |
YoastSEO_ACF_Content_Analysis.prototype.getFieldData = function( data ) {
|
| 39 |
-
|
| 40 |
return data + ' ' + fieldData;
|
| 41 |
|
| 42 |
};
|
| 1 |
jQuery(window).on('YoastSEO:ready', function () {
|
| 2 |
var fieldData = "";
|
| 3 |
YoastSEO_ACF_Content_Analysis = function() {
|
| 4 |
+
|
| 5 |
YoastSEO.app.registerPlugin( 'ACF_Content_Analysis', {status: 'loading'} );
|
| 6 |
this.appendACFFields();
|
| 7 |
+
};
|
| 8 |
|
| 9 |
YoastSEO_ACF_Content_Analysis.prototype.appendACFFields = function() {
|
| 10 |
|
| 13 |
url: yoast_acf_settings.ajax_url,
|
| 14 |
type: 'POST',
|
| 15 |
dataType: 'JSON',
|
| 16 |
+
data: {
|
| 17 |
postId : yoast_acf_settings.id,
|
| 18 |
action: yoast_acf_settings.ajax_action
|
| 19 |
}
|
| 36 |
};
|
| 37 |
|
| 38 |
YoastSEO_ACF_Content_Analysis.prototype.getFieldData = function( data ) {
|
| 39 |
+
|
| 40 |
return data + ' ' + fieldData;
|
| 41 |
|
| 42 |
};
|
