Version Description
- Fixed bug JS error: Uncaught TypeError: undefined is not a function
- Fixed bug PHP error for links without href attribute ("undefined index href")
- Replaced deprecated jQuery .live() to .on() (contribution by Alonbilu)
Download this release
Release Info
Developer | freelancephp |
Plugin | WP External Links (nofollow new tab seo) |
Version | 1.55 |
Comparing to | |
See all releases |
Code changes from version 1.54 to 1.55
- includes/class-wp-external-links.php +8 -4
- js/src/admin-wp-external-links.js +1 -1
- js/src/wp-external-links.js +4 -4
- js/wp-external-links.js +1 -1
- js/wp-option-forms.js +55 -0
- readme.txt +7 -2
- wp-external-links.php +2 -2
includes/class-wp-external-links.php
CHANGED
@@ -332,9 +332,13 @@ final class WP_External_Links {
|
|
332 |
$rel = ( isset( $attrs[ 'rel' ] ) ) ? strtolower( $attrs[ 'rel' ] ) : '';
|
333 |
|
334 |
// href preperation
|
335 |
-
|
336 |
-
|
337 |
-
|
|
|
|
|
|
|
|
|
338 |
|
339 |
// checks
|
340 |
$is_external = $this->is_external( $href, $rel );
|
@@ -396,7 +400,7 @@ final class WP_External_Links {
|
|
396 |
$attrs['data-wpel-target'] = $target;
|
397 |
} else {
|
398 |
// set target value
|
399 |
-
$attrs[ 'target' ] = $
|
400 |
}
|
401 |
}
|
402 |
|
332 |
$rel = ( isset( $attrs[ 'rel' ] ) ) ? strtolower( $attrs[ 'rel' ] ) : '';
|
333 |
|
334 |
// href preperation
|
335 |
+
if (isset( $attrs[ 'href' ])) {
|
336 |
+
$href = $attrs[ 'href' ];
|
337 |
+
$href = strtolower( $href );
|
338 |
+
$href = trim( $href );
|
339 |
+
} else {
|
340 |
+
$href = '';
|
341 |
+
}
|
342 |
|
343 |
// checks
|
344 |
$is_external = $this->is_external( $href, $rel );
|
400 |
$attrs['data-wpel-target'] = $target;
|
401 |
} else {
|
402 |
// set target value
|
403 |
+
$attrs[ 'target' ] = $target;
|
404 |
}
|
405 |
}
|
406 |
|
js/src/admin-wp-external-links.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
/* WP External Links
|
2 |
/*global jQuery, window*/
|
3 |
jQuery(function ($) {
|
4 |
'use strict';
|
1 |
+
/* WP External Links - Admin */
|
2 |
/*global jQuery, window*/
|
3 |
jQuery(function ($) {
|
4 |
'use strict';
|
js/src/wp-external-links.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
/* WP External Links
|
2 |
/*global jQuery, window*/
|
3 |
-
(function () {
|
4 |
'use strict';
|
5 |
|
6 |
var $ = jQuery === undefined ? null : jQuery;
|
@@ -29,9 +29,9 @@
|
|
29 |
|
30 |
// prevent default event action
|
31 |
if (evt) {
|
32 |
-
if (evt.preventDefault) {
|
33 |
evt.preventDefault();
|
34 |
-
} else if (
|
35 |
evt.returnValue = false;
|
36 |
}
|
37 |
}
|
1 |
+
/* WP External Links */
|
2 |
/*global jQuery, window*/
|
3 |
+
(function (undefined) {
|
4 |
'use strict';
|
5 |
|
6 |
var $ = jQuery === undefined ? null : jQuery;
|
29 |
|
30 |
// prevent default event action
|
31 |
if (evt) {
|
32 |
+
if (evt.preventDefault !== undefined) {
|
33 |
evt.preventDefault();
|
34 |
+
} else if (evt.returnValue !== undefined) {
|
35 |
evt.returnValue = false;
|
36 |
}
|
37 |
}
|
js/wp-external-links.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
/* WP External Links */
|
2 |
-
(function(){"use strict";function
|
1 |
/* WP External Links */
|
2 |
+
(function(e){"use strict";function n(e,t,n){if(e.attachEvent){e.attachEvent("on"+t,n)}else if(e.addEventListener){e.addEventListener(t,n,false)}}function r(t,n){var r=t.getAttribute("data-wpel-target");var i=t.getAttribute("href");var s;if(i&&r){s=window.open(i,r);s.focus();if(n){if(n.preventDefault!==e){n.preventDefault()}else if(n.returnValue!==e){n.returnValue=false}}}}var t=jQuery===e?null:jQuery;if(t){t(function(){t("body").on("click","a",function(e){r(this,e)})})}else{n(window,"load",function(){var e=window.document.getElementsByTagName("a");var t=function(e){var t=this instanceof Element?this:e.target;r(t,e)};var i;var s;for(s=0;s<e.length;s+=1){i=e[s];n(i,"click",t)}})}})()
|
js/wp-option-forms.js
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* WP Options Form */
|
2 |
+
/*global jQuery, ajaxurl*/
|
3 |
+
jQuery(function ($) {
|
4 |
+
'use strict';
|
5 |
+
|
6 |
+
// save function
|
7 |
+
var saveAjaxForm = function (target) {
|
8 |
+
var $this = $(target),
|
9 |
+
$form = $this.parents('form'),
|
10 |
+
// get ajax post values
|
11 |
+
vals = $form.serializeArray();
|
12 |
+
|
13 |
+
// disable button
|
14 |
+
$this.attr('disabled', true);
|
15 |
+
|
16 |
+
// show ajax loader
|
17 |
+
$form.find('.ajax-feedback').css('visibility', 'visible');
|
18 |
+
|
19 |
+
// save option values
|
20 |
+
$.post(ajaxurl, vals, function (result) {
|
21 |
+
var $msg = $('<strong>').insertBefore($this);
|
22 |
+
|
23 |
+
if (result === '1') {
|
24 |
+
$msg.html('Saved');
|
25 |
+
} else {
|
26 |
+
// save options, non-ajax fallback
|
27 |
+
$form.find('[name="action"]').val('update');
|
28 |
+
// normal submit
|
29 |
+
$form.submit();
|
30 |
+
}
|
31 |
+
|
32 |
+
$msg.css({ margin: '0 5px' })
|
33 |
+
.delay(1000)
|
34 |
+
.fadeOut(function(){
|
35 |
+
$(this).remove();
|
36 |
+
});
|
37 |
+
|
38 |
+
// enable button
|
39 |
+
$this.attr('disabled', false);
|
40 |
+
|
41 |
+
// hide ajax loader
|
42 |
+
$form.find('.ajax-feedback').css('visibility', 'hidden');
|
43 |
+
|
44 |
+
// trigger ajax_saved_options
|
45 |
+
$form.trigger('ajax_saved_options', [result]);
|
46 |
+
});
|
47 |
+
};
|
48 |
+
|
49 |
+
// add ajax post
|
50 |
+
$('form.ajax-form input[type="submit"]').click(function(e) {
|
51 |
+
saveAjaxForm(this);
|
52 |
+
e.preventDefault();
|
53 |
+
});
|
54 |
+
|
55 |
+
});
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: freelancephp
|
3 |
Tags: links, external, icon, target, _blank, _new, _none, rel, nofollow, new window, new tab, javascript, xhtml, seo
|
4 |
Requires at least: 3.4.0
|
5 |
-
Tested up to:
|
6 |
-
Stable tag: 1.
|
7 |
|
8 |
Open external links in a new window or tab, adding "nofollow", set link icon, styling, SEO friendly options and more. Easy install and go.
|
9 |
|
@@ -106,6 +106,11 @@ In this case all internal links will be made bold.
|
|
106 |
|
107 |
== Changelog ==
|
108 |
|
|
|
|
|
|
|
|
|
|
|
109 |
= 1.54 =
|
110 |
* Fixed bug opening links containing html tags (like <b>)
|
111 |
|
2 |
Contributors: freelancephp
|
3 |
Tags: links, external, icon, target, _blank, _new, _none, rel, nofollow, new window, new tab, javascript, xhtml, seo
|
4 |
Requires at least: 3.4.0
|
5 |
+
Tested up to: 4.0.0
|
6 |
+
Stable tag: 1.55
|
7 |
|
8 |
Open external links in a new window or tab, adding "nofollow", set link icon, styling, SEO friendly options and more. Easy install and go.
|
9 |
|
106 |
|
107 |
== Changelog ==
|
108 |
|
109 |
+
= 1.55 =
|
110 |
+
* Fixed bug JS error: Uncaught TypeError: undefined is not a function
|
111 |
+
* Fixed bug PHP error for links without href attribute ("undefined index href")
|
112 |
+
* Replaced deprecated jQuery .live() to .on() (contribution by Alonbilu)
|
113 |
+
|
114 |
= 1.54 =
|
115 |
* Fixed bug opening links containing html tags (like <b>)
|
116 |
|
wp-external-links.php
CHANGED
@@ -4,14 +4,14 @@ Plugin Name: WP External Links
|
|
4 |
Plugin URI: http://www.freelancephp.net/wp-external-links-plugin
|
5 |
Description: Open external links in a new window/tab, add "external" / "nofollow" to rel-attribute, set icon, XHTML strict, SEO friendly...
|
6 |
Author: Victor Villaverde Laan
|
7 |
-
Version: 1.
|
8 |
Author URI: http://www.freelancephp.net
|
9 |
License: Dual licensed under the MIT and GPL licenses
|
10 |
*/
|
11 |
|
12 |
// constants
|
13 |
if (!defined('WP_EXTERNAL_LINKS_FILE')) { define('WP_EXTERNAL_LINKS_FILE', __FILE__); }
|
14 |
-
if (!defined('WP_EXTERNAL_LINKS_VERSION')) { define('WP_EXTERNAL_LINKS_VERSION', '1.
|
15 |
if (!defined('WP_EXTERNAL_LINKS_KEY')) { define('WP_EXTERNAL_LINKS_KEY', 'wp_external_links'); }
|
16 |
if (!defined('WP_EXTERNAL_LINKS_DOMAIN')) { define('WP_EXTERNAL_LINKS_DOMAIN', 'wp-external-links'); }
|
17 |
if (!defined('WP_EXTERNAL_LINKS_OPTIONS_NAME')) { define('WP_EXTERNAL_LINKS_OPTIONS_NAME', 'WP_External_Links_options'); }
|
4 |
Plugin URI: http://www.freelancephp.net/wp-external-links-plugin
|
5 |
Description: Open external links in a new window/tab, add "external" / "nofollow" to rel-attribute, set icon, XHTML strict, SEO friendly...
|
6 |
Author: Victor Villaverde Laan
|
7 |
+
Version: 1.55
|
8 |
Author URI: http://www.freelancephp.net
|
9 |
License: Dual licensed under the MIT and GPL licenses
|
10 |
*/
|
11 |
|
12 |
// constants
|
13 |
if (!defined('WP_EXTERNAL_LINKS_FILE')) { define('WP_EXTERNAL_LINKS_FILE', __FILE__); }
|
14 |
+
if (!defined('WP_EXTERNAL_LINKS_VERSION')) { define('WP_EXTERNAL_LINKS_VERSION', '1.55'); }
|
15 |
if (!defined('WP_EXTERNAL_LINKS_KEY')) { define('WP_EXTERNAL_LINKS_KEY', 'wp_external_links'); }
|
16 |
if (!defined('WP_EXTERNAL_LINKS_DOMAIN')) { define('WP_EXTERNAL_LINKS_DOMAIN', 'wp-external-links'); }
|
17 |
if (!defined('WP_EXTERNAL_LINKS_OPTIONS_NAME')) { define('WP_EXTERNAL_LINKS_OPTIONS_NAME', 'WP_External_Links_options'); }
|