Version Description
Download this release
Release Info
Developer | pbaylies |
Plugin | All in One SEO Pack |
Version | 2.0.2 |
Comparing to | |
See all releases |
Code changes from version 2.0.1 to 2.0.2
- aioseop_class.php +306 -102
- aioseop_feature_manager.php +1 -0
- aioseop_functions.php +12 -61
- aioseop_module.js +0 -14
- aioseop_module_class.php +4 -2
- aioseop_module_manager.php +1 -0
- all_in_one_seo_pack.php +3 -3
aioseop_class.php
CHANGED
@@ -291,6 +291,10 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
291 |
'name' => __( 'Google Plus Default Profile:', 'all_in_one_seo_pack' ),
|
292 |
'help_text' => __( 'Enter your Google Plus Profile URL here to link your site\'s pages to Google Plus.', 'all_in_one_seo_pack' ),
|
293 |
'default' => '', 'type' => 'text' ),
|
|
|
|
|
|
|
|
|
294 |
"google_analytics_id"=> Array(
|
295 |
'name' => __( 'Google Analytics ID:', 'all_in_one_seo_pack' ),
|
296 |
'help_text' => __( 'Enter your Google Analytics ID here to track your site with Google Analytics.', 'all_in_one_seo_pack' ),
|
@@ -341,6 +345,10 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
341 |
'name' => __( 'Autogenerate Descriptions:', 'all_in_one_seo_pack' ),
|
342 |
'help_text' => __( "Check this and your META descriptions will get autogenerated if there's no excerpt.", 'all_in_one_seo_pack' ),
|
343 |
'default' => 1),
|
|
|
|
|
|
|
|
|
344 |
"unprotect_meta"=> Array(
|
345 |
'name' => __( 'Unprotect Post Meta Fields:', 'all_in_one_seo_pack' ),
|
346 |
'help_text' => __( "Unprotect internal postmeta fields for use with XMLRPC -- if you don't know what that is, leave it unchecked.", 'all_in_one_seo_pack' ),
|
@@ -427,7 +435,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
427 |
),
|
428 |
'google' => Array(
|
429 |
'name' => __( 'Google Settings', 'all_in_one_seo_pack' ),
|
430 |
-
'options' => Array( "google_publisher", "google_analytics_id", "ga_domain", "ga_multi_domain", "ga_track_outbound_links" )
|
431 |
),
|
432 |
'noindex' => Array(
|
433 |
'name' => __( 'Noindex Settings', 'all_in_one_seo_pack' ),
|
@@ -435,7 +443,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
435 |
),
|
436 |
'advanced' => Array(
|
437 |
'name' => __( 'Advanced Settings', 'all_in_one_seo_pack' ),
|
438 |
-
'options' => Array( 'generate_descriptions', 'unprotect_meta', 'ex_pages', 'post_meta_tags', 'page_meta_tags', 'front_meta_tags', 'home_meta_tags' )
|
439 |
)
|
440 |
);
|
441 |
|
@@ -443,11 +451,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
443 |
foreach( $this->layout as $k => $v )
|
444 |
$other_options = array_merge( $other_options, $v['options'] );
|
445 |
|
446 |
-
$this->layout['default']['options'] = array_diff( array_keys( $this->default_options ), $other_options );
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
|
|
|
|
451 |
}
|
452 |
|
453 |
/*** Use custom callback for outputting snippet ***/
|
@@ -459,18 +469,28 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
459 |
$p = $post; $w = $wp_query;
|
460 |
if (! $post->post_modified_gmt != '' )
|
461 |
$wp_query = new WP_Query( array( 'p' => $post_id, 'post_type' => $post->post_type ) );
|
462 |
-
if ( $post->post_type == 'page' )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
463 |
|
464 |
$args['options']['type'] = 'html';
|
465 |
$args['options']['nowrap'] = false;
|
466 |
$args['options']['save'] = false;
|
467 |
|
468 |
-
$title = false;
|
469 |
$title = $this->wp_title();
|
470 |
-
if (
|
471 |
|
472 |
if ( ( $aioseop_options['aiosp_can'] ) && ( $url = $this->aiosp_mrt_get_url( $wp_query ) ) )
|
473 |
-
$url = apply_filters( 'aioseop_canonical_url'
|
474 |
if ( !$url ) $url = get_permalink();
|
475 |
|
476 |
$description = $this->get_post_description( $post );
|
@@ -478,7 +498,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
478 |
if ( strlen( $title ) > 70 ) $title = $this->trim_excerpt_without_filters( $title, 70 ) . '...';
|
479 |
if ( strlen( $description ) > 156 ) $description = $this->trim_excerpt_without_filters( $description, 156 ) . '...';
|
480 |
|
481 |
-
$args['value'] = sprintf( $args['value'], $title, $url, $description );
|
482 |
$buf = $this->get_option_row( $args['name'], $args['options'], $args );
|
483 |
|
484 |
wp_reset_postdata();
|
@@ -488,10 +508,115 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
488 |
return $buf;
|
489 |
}
|
490 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
function add_page_hooks() {
|
492 |
$post_objs = get_post_types( '', 'objects' );
|
493 |
$pt = array_keys( $post_objs );
|
494 |
-
$rempost = array( '
|
495 |
$pt = array_diff( $pt, $rempost );
|
496 |
$post_types = Array();
|
497 |
foreach ( $pt as $p ) {
|
@@ -527,17 +652,30 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
527 |
$this->layout['cpt']['options'][] = $field;
|
528 |
}
|
529 |
}
|
530 |
-
|
531 |
-
$this->pointers['aioseop_welcome_201'] = Array( 'pointer_target' => '#aiosp_settings_form',
|
532 |
-
'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all_in_one_seo_pack' ), AIOSEOP_VERSION )
|
533 |
-
. '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New in 2.0: manage your performance with our Performance module; enable it from our new feature manager! And please review your settings, we have added some new ones!', 'all_in_one_seo_pack' ) . '</p>'
|
534 |
-
);
|
535 |
-
|
536 |
$this->setting_options();
|
537 |
add_filter( "{$this->prefix}display_options", Array( $this, 'filter_options' ), 10, 3 );
|
538 |
parent::add_page_hooks();
|
539 |
}
|
540 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
function settings_page_init() {
|
542 |
add_filter( "{$this->prefix}submit_options", Array( $this, 'filter_submit' ) );
|
543 |
}
|
@@ -761,7 +899,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
761 |
|
762 |
if ( is_admin() ) {
|
763 |
add_action( 'admin_menu', array( $this, 'admin_menu' ) );
|
764 |
-
add_action( 'admin_head', '
|
765 |
add_action( 'admin_init', 'aioseop_addmycolumns', 1 );
|
766 |
} else {
|
767 |
if ( $aioseop_options['aiosp_can'] == '1' || $aioseop_options['aiosp_can'] == 'on' )
|
@@ -860,30 +998,33 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
860 |
if ( $page_for_posts && ( !is_object( $post ) || ( $page_for_posts != $post->ID ) ) && is_home() )
|
861 |
$blog_page = get_post( $page_for_posts );
|
862 |
|
863 |
-
if ( $is_front_page_keywords )
|
864 |
$keywords = trim( $this->internationalize( $aioseop_options['aiosp_home_keywords'] ) );
|
865 |
-
|
866 |
$keywords = stripcslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_keywords", true ) ) );
|
867 |
-
|
868 |
$keywords = stripcslashes( $this->internationalize( get_post_meta( $blog_page->ID, "_aioseop_keywords", true ) ) );
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
873 |
if ( $this->is_static_front_page() )
|
874 |
$description = trim( stripcslashes( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
|
875 |
-
elseif ( $blog_page )
|
876 |
$description = $this->get_post_description( $blog_page );
|
877 |
-
|
878 |
-
$description = trim( stripcslashes( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
|
879 |
-
else if ( is_category() )
|
880 |
-
$description = $this->internationalize( category_description() );
|
881 |
-
|
882 |
-
if ( empty( $description ) && is_object( $post ) )
|
883 |
$description = $this->get_post_description( $post );
|
884 |
|
885 |
-
|
886 |
-
$description = apply_filters( 'aioseop_description', $description );
|
887 |
|
888 |
if ( isset($description) && (strlen($description) > $this->minimum_description_length ) && !( $is_front_page && is_paged() ) ) {
|
889 |
$description = trim( strip_tags( $description ) );
|
@@ -975,15 +1116,14 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
975 |
$meta_string .= $post_meta;
|
976 |
}
|
977 |
|
978 |
-
if ( !empty( $post ) && isset( $post->post_author ) )
|
979 |
$googleplus = get_the_author_meta( 'googleplus', $post->post_author );
|
980 |
|
981 |
if ( empty( $googleplus ) && !empty( $aioseop_options['aiosp_google_publisher'] ) )
|
982 |
$googleplus = $aioseop_options['aiosp_google_publisher'];
|
983 |
|
984 |
if ( $is_front_page && !empty( $aioseop_options['aiosp_google_publisher'] ) )
|
985 |
-
$meta_string = '<link rel="publisher" href="' . $aioseop_options['aiosp_google_publisher'] . '" />' . "\n" . $meta_string;
|
986 |
-
|
987 |
if ( is_singular() && ( $googleplus ) ) {
|
988 |
$meta_string = '<link rel="author" href="' . $googleplus . '" />' . "\n" . $meta_string;
|
989 |
} else if ( !empty( $aioseop_options['aiosp_google_publisher'] ) ) {
|
@@ -1078,9 +1218,9 @@ function aiosp_google_analytics() {
|
|
1078 |
// Thank you, Yoast de Valk, for much of this code.
|
1079 |
|
1080 |
function aiosp_mrt_get_url( $query ) {
|
1081 |
-
if ( $query->is_404 || $query->is_search )
|
1082 |
return false;
|
1083 |
-
|
1084 |
$haspost = count( $query->posts ) > 0;
|
1085 |
|
1086 |
if ( get_query_var( 'm' ) ) {
|
@@ -1095,20 +1235,16 @@ function aiosp_google_analytics() {
|
|
1095 |
} elseif ( ( $query->is_single || $query->is_page ) && $haspost ) {
|
1096 |
$post = $query->posts[0];
|
1097 |
$link = get_permalink( $post->ID );
|
1098 |
-
$link = $this->yoast_get_paged( $link );
|
1099 |
} elseif ( $query->is_author && $haspost ) {
|
1100 |
$author = get_userdata( get_query_var( 'author' ) );
|
1101 |
if ($author === false) return false;
|
1102 |
$link = get_author_posts_url( $author->ID, $author->user_nicename );
|
1103 |
} elseif ( $query->is_category && $haspost ) {
|
1104 |
$link = get_category_link( get_query_var( 'cat' ) );
|
1105 |
-
|
1106 |
-
} else if ( $query->is_tag && $haspost ) {
|
1107 |
$tag = get_term_by( 'slug', get_query_var( 'tag' ), 'post_tag' );
|
1108 |
-
if ( !empty( $tag->term_id ) )
|
1109 |
$link = get_tag_link( $tag->term_id );
|
1110 |
-
}
|
1111 |
-
$link = $this->yoast_get_paged( $link );
|
1112 |
} elseif ( $query->is_day && $haspost ) {
|
1113 |
$link = get_day_link( get_query_var( 'year' ),
|
1114 |
get_query_var( 'monthnum' ),
|
@@ -1122,53 +1258,71 @@ function aiosp_google_analytics() {
|
|
1122 |
if ( (get_option( 'show_on_front' ) == 'page' ) &&
|
1123 |
( $pageid = get_option( 'page_for_posts' ) ) ) {
|
1124 |
$link = get_permalink( $pageid );
|
1125 |
-
$link = $this->yoast_get_paged( $link );
|
1126 |
-
$link = trailingslashit( $link );
|
1127 |
} else {
|
1128 |
if ( function_exists( 'icl_get_home_url' ) ) {
|
1129 |
$link = icl_get_home_url();
|
1130 |
} else {
|
1131 |
$link = get_option( 'home' );
|
1132 |
}
|
1133 |
-
$link = $this->yoast_get_paged( $link );
|
1134 |
-
$link = trailingslashit( $link );
|
1135 |
}
|
1136 |
} elseif ( $query->is_tax && $haspost ) {
|
1137 |
$taxonomy = get_query_var( 'taxonomy' );
|
1138 |
$term = get_query_var( 'term' );
|
1139 |
$link = get_term_link( $term, $taxonomy );
|
1140 |
-
$link = $this->yoast_get_paged( $link );
|
1141 |
} elseif ( $query->is_archive && function_exists( 'get_post_type_archive_link' ) && ( $post_type = get_query_var( 'post_type' ) ) ) {
|
1142 |
$link = get_post_type_archive_link( $post_type );
|
1143 |
} else {
|
1144 |
return false;
|
1145 |
}
|
1146 |
-
|
1147 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1148 |
}
|
1149 |
|
1150 |
function yoast_get_paged( $link ) {
|
1151 |
-
$page =
|
1152 |
-
if ( $page && $page > 1 ) {
|
1153 |
$link = trailingslashit( $link ) ."page/". "$page";
|
1154 |
$link = user_trailingslashit( $link, 'paged' );
|
1155 |
}
|
1156 |
return $link;
|
1157 |
}
|
1158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1159 |
function get_post_description( $post ) {
|
1160 |
global $aioseop_options;
|
|
|
|
|
|
|
|
|
1161 |
$description = trim( stripcslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
|
1162 |
if ( !$description ) {
|
1163 |
$description = $this->trim_excerpt_without_filters_full_length( $this->internationalize( $post->post_excerpt ) );
|
1164 |
-
if ( !$description && $aioseop_options["aiosp_generate_descriptions"] )
|
1165 |
-
$description = $this->trim_excerpt_without_filters( $this->internationalize( $post->post_content ) );
|
|
|
1166 |
}
|
|
|
1167 |
// "internal whitespace trim"
|
1168 |
$description = preg_replace( "/\s\s+/u", " ", $description );
|
1169 |
return $description;
|
1170 |
}
|
1171 |
|
|
|
1172 |
function replace_title( $content, $title ) {
|
1173 |
$title = trim( strip_tags( $title ) );
|
1174 |
$title_tag_start = "<title>";
|
@@ -1294,6 +1448,46 @@ function aiosp_google_analytics() {
|
|
1294 |
return $title;
|
1295 |
}
|
1296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1297 |
/*** Gets the title that will be used by AIOSEOP for title rewrites or returns false. ***/
|
1298 |
function get_aioseop_title( $post ) {
|
1299 |
global $aioseop_options;
|
@@ -1303,17 +1497,26 @@ function aiosp_google_analytics() {
|
|
1303 |
$title = $this->internationalize( $aioseop_options['aiosp_home_title'] );
|
1304 |
if ( empty( $title ) && !empty( $post ) && $this->is_static_front_page() ) {
|
1305 |
$title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
|
1306 |
-
if (
|
1307 |
$title = $this->internationalize( $post->post_title );
|
1308 |
-
if (
|
1309 |
$title = $this->internationalize( $this->get_original_title( '', false ) );
|
|
|
|
|
1310 |
}
|
1311 |
if (empty( $title ) )
|
1312 |
$title = $this->internationalize( get_option( 'blogname' ) );
|
1313 |
return $this->paged_title( $title );
|
1314 |
} else if ( is_attachment() ) {
|
1315 |
if ( $post === null ) return false;
|
1316 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1317 |
} else if ( is_page() || $this->is_static_posts_page() || ( is_home() && !$this->is_static_posts_page() ) ) {
|
1318 |
if ( $post === null ) return false;
|
1319 |
// we're not in the loop :(
|
@@ -1323,9 +1526,8 @@ function aiosp_google_analytics() {
|
|
1323 |
return apply_filters( 'aioseop_home_page_title', $home_title );
|
1324 |
} else {
|
1325 |
$page_for_posts = '';
|
1326 |
-
if ( is_home() )
|
1327 |
$page_for_posts = get_option( 'page_for_posts' );
|
1328 |
-
}
|
1329 |
if ( $page_for_posts ) {
|
1330 |
$title = $this->internationalize( get_post_meta( $page_for_posts, "_aioseop_title", true ) );
|
1331 |
if ( !$title ) {
|
@@ -1340,15 +1542,7 @@ function aiosp_google_analytics() {
|
|
1340 |
if ( !$title )
|
1341 |
$title = $this->internationalize( $this->get_original_title( '', false ) );
|
1342 |
|
1343 |
-
|
1344 |
-
$new_title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name' ) ), $title_format );
|
1345 |
-
$new_title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $new_title );
|
1346 |
-
$new_title = str_replace( '%page_title%', $title, $new_title );
|
1347 |
-
$new_title = str_replace( '%page_author_login%', $authordata->user_login, $new_title );
|
1348 |
-
$new_title = str_replace( '%page_author_nicename%', $authordata->user_nicename, $new_title );
|
1349 |
-
$new_title = str_replace( '%page_author_firstname%', ucwords($authordata->first_name ), $new_title );
|
1350 |
-
$new_title = str_replace( '%page_author_lastname%', ucwords($authordata->last_name ), $new_title );
|
1351 |
-
$title = trim( $new_title );
|
1352 |
$title = $this->paged_title( $title );
|
1353 |
$title = apply_filters( 'aioseop_title_page', $title );
|
1354 |
if ( $this->is_static_posts_page() )
|
@@ -1369,18 +1563,9 @@ function aiosp_google_analytics() {
|
|
1369 |
$title = $this->internationalize( get_post_meta( $post->ID, "title_tag", true ) );
|
1370 |
if ( !$title ) $title = $this->internationalize($this->get_original_title( '', false ) );
|
1371 |
}
|
1372 |
-
|
1373 |
-
if
|
1374 |
-
$
|
1375 |
-
if ( is_singular( $wp_post_types ) && !empty( $aioseop_options["aiosp_cposttitles"] ) ) {
|
1376 |
-
$post_type = get_post_type();
|
1377 |
-
if ( !empty( $aioseop_options["aiosp_{$post_type}_title_format"] ) )
|
1378 |
-
$title_format = $aioseop_options["aiosp_{$post_type}_title_format"];
|
1379 |
-
}
|
1380 |
-
}
|
1381 |
-
$r_title = array( '%blog_title%', '%blog_description%', '%post_title%', '%category%', '%category_title%', '%post_author_login%', '%post_author_nicename%', '%post_author_firstname%', '%post_author_lastname%' );
|
1382 |
-
$d_title = array( $this->internationalize( get_bloginfo('name') ), $this->internationalize( get_bloginfo( 'description' ) ), $title, $category, $category, $authordata->user_login, $authordata->user_nicename, ucwords( $authordata->first_name ), ucwords( $authordata->last_name ) );
|
1383 |
-
$title = trim( str_replace( $r_title, $d_title, $title_format ) );
|
1384 |
$title = $this->paged_title( $title );
|
1385 |
return apply_filters( 'aioseop_title_single', $title );
|
1386 |
} else if ( is_search() && isset( $s ) && !empty( $s ) ) {
|
@@ -1392,20 +1577,6 @@ function aiosp_google_analytics() {
|
|
1392 |
$title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $title );
|
1393 |
$title = str_replace( '%search%', $search, $title);
|
1394 |
return $title;
|
1395 |
-
} else if ( ( is_tax() || is_category() ) && !is_feed() ) {
|
1396 |
-
$category_description = $this->internationalize( category_description() );
|
1397 |
-
if( !empty( $aioseop_options['aiosp_cap_cats'] ) ) {
|
1398 |
-
$category_name = ucwords( $this->internationalize( single_cat_title( '', false ) ) );
|
1399 |
-
} else {
|
1400 |
-
$category_name = $this->internationalize( single_cat_title( '', false ) );
|
1401 |
-
}
|
1402 |
-
$title_format = $aioseop_options['aiosp_category_title_format'];
|
1403 |
-
$title = str_replace( '%category_title%', $category_name, $title_format );
|
1404 |
-
$title = str_replace( '%category_description%', $category_description, $title );
|
1405 |
-
$title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name' ) ), $title );
|
1406 |
-
$title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $title );
|
1407 |
-
$title = $this->paged_title( $title );
|
1408 |
-
return $title;
|
1409 |
} else if ( is_tag() ) {
|
1410 |
global $utw;
|
1411 |
if ( $utw ) {
|
@@ -1426,6 +1597,20 @@ function aiosp_google_analytics() {
|
|
1426 |
$title = $this->paged_title( $title );
|
1427 |
return $title;
|
1428 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1429 |
} else if ( isset( $STagging ) && $STagging->is_tag_view() ) { // simple tagging support
|
1430 |
$tag = $STagging->search_tag;
|
1431 |
if ( $tag ) {
|
@@ -1461,9 +1646,11 @@ function aiosp_google_analytics() {
|
|
1461 |
|
1462 |
/*** Used to filter wp_title(), get our title. ***/
|
1463 |
function wp_title() {
|
|
|
1464 |
$title = false;
|
1465 |
$post = $this->get_queried_object();
|
1466 |
-
|
|
|
1467 |
if ( $title === false )
|
1468 |
$title = $this->get_original_title();
|
1469 |
return apply_filters( 'aioseop_title', $title );
|
@@ -1553,8 +1740,13 @@ function aiosp_google_analytics() {
|
|
1553 |
// custom field keywords
|
1554 |
$keywords_i = null;
|
1555 |
|
1556 |
-
|
1557 |
-
|
|
|
|
|
|
|
|
|
|
|
1558 |
$keywords_i = str_replace( '"', '', $keywords_i );
|
1559 |
if (isset( $keywords_i ) && !empty( $keywords_i ) ) {
|
1560 |
$traverse = explode( ',', $keywords_i );
|
@@ -1699,10 +1891,16 @@ function aiosp_google_analytics() {
|
|
1699 |
$url = menu_page_url( $menu_slug, 0 );
|
1700 |
else
|
1701 |
$url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
|
1702 |
-
$wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( '
|
|
|
1703 |
$aioseop_admin_menu = 1;
|
1704 |
}
|
1705 |
}
|
|
|
|
|
|
|
|
|
|
|
1706 |
|
1707 |
function menu_order() {
|
1708 |
return 5;
|
@@ -1721,6 +1919,12 @@ function aiosp_google_analytics() {
|
|
1721 |
|
1722 |
$this->update_options( );
|
1723 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1724 |
$donated = false;
|
1725 |
if ( ( isset( $_POST ) ) && ( isset( $_POST['module'] ) ) && ( isset( $_POST['nonce-aioseop'] ) ) && ( $_POST['module'] == 'All_in_One_SEO_Pack' ) && ( wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) ) ) {
|
1726 |
if ( isset( $_POST["aiosp_donate"] ) )
|
291 |
'name' => __( 'Google Plus Default Profile:', 'all_in_one_seo_pack' ),
|
292 |
'help_text' => __( 'Enter your Google Plus Profile URL here to link your site\'s pages to Google Plus.', 'all_in_one_seo_pack' ),
|
293 |
'default' => '', 'type' => 'text' ),
|
294 |
+
"google_disable_profile"=> Array(
|
295 |
+
'name' => __( 'Disable Google Plus Profile:', 'all_in_one_seo_pack' ),
|
296 |
+
'help_text' => __( 'Check this option to remove the Google Plus Profile field on user profile pages.', 'all_in_one_seo_pack' ),
|
297 |
+
'default' => 0, 'type' => 'checkbox' ),
|
298 |
"google_analytics_id"=> Array(
|
299 |
'name' => __( 'Google Analytics ID:', 'all_in_one_seo_pack' ),
|
300 |
'help_text' => __( 'Enter your Google Analytics ID here to track your site with Google Analytics.', 'all_in_one_seo_pack' ),
|
345 |
'name' => __( 'Autogenerate Descriptions:', 'all_in_one_seo_pack' ),
|
346 |
'help_text' => __( "Check this and your META descriptions will get autogenerated if there's no excerpt.", 'all_in_one_seo_pack' ),
|
347 |
'default' => 1),
|
348 |
+
"hide_paginated_descriptions"=> Array(
|
349 |
+
'name' => __( 'Remove Descriptions For Paginated Pages:', 'all_in_one_seo_pack' ),
|
350 |
+
'help_text' => __( "Check this and your META descriptions will get hidden if on Page 2 or later of paginated content.", 'all_in_one_seo_pack' ),
|
351 |
+
'default' => 0),
|
352 |
"unprotect_meta"=> Array(
|
353 |
'name' => __( 'Unprotect Post Meta Fields:', 'all_in_one_seo_pack' ),
|
354 |
'help_text' => __( "Unprotect internal postmeta fields for use with XMLRPC -- if you don't know what that is, leave it unchecked.", 'all_in_one_seo_pack' ),
|
435 |
),
|
436 |
'google' => Array(
|
437 |
'name' => __( 'Google Settings', 'all_in_one_seo_pack' ),
|
438 |
+
'options' => Array( "google_publisher", "google_disable_profile", "google_analytics_id", "ga_domain", "ga_multi_domain", "ga_track_outbound_links" )
|
439 |
),
|
440 |
'noindex' => Array(
|
441 |
'name' => __( 'Noindex Settings', 'all_in_one_seo_pack' ),
|
443 |
),
|
444 |
'advanced' => Array(
|
445 |
'name' => __( 'Advanced Settings', 'all_in_one_seo_pack' ),
|
446 |
+
'options' => Array( 'generate_descriptions', 'hide_paginated_descriptions', 'unprotect_meta', 'ex_pages', 'post_meta_tags', 'page_meta_tags', 'front_meta_tags', 'home_meta_tags' )
|
447 |
)
|
448 |
);
|
449 |
|
451 |
foreach( $this->layout as $k => $v )
|
452 |
$other_options = array_merge( $other_options, $v['options'] );
|
453 |
|
454 |
+
$this->layout['default']['options'] = array_diff( array_keys( $this->default_options ), $other_options );
|
455 |
+
|
456 |
+
if ( is_admin() ) {
|
457 |
+
add_action( "aioseop_global_settings_header", Array( $this, 'display_right_sidebar' ) );
|
458 |
+
add_action( "aioseop_global_settings_footer", Array( $this, 'display_settings_footer' ) );
|
459 |
+
add_action( "output_option", Array( $this, 'custom_output_option' ), 10, 2 );
|
460 |
+
}
|
461 |
}
|
462 |
|
463 |
/*** Use custom callback for outputting snippet ***/
|
469 |
$p = $post; $w = $wp_query;
|
470 |
if (! $post->post_modified_gmt != '' )
|
471 |
$wp_query = new WP_Query( array( 'p' => $post_id, 'post_type' => $post->post_type ) );
|
472 |
+
if ( $post->post_type == 'page' )
|
473 |
+
$wp_query->is_page = true;
|
474 |
+
elseif ( $post->post_type == 'attachment' )
|
475 |
+
$wp_query->is_attachment = true;
|
476 |
+
else
|
477 |
+
$wp_query->is_single = true;
|
478 |
+
if ( get_option( 'show_on_front' ) == 'page' ) {
|
479 |
+
if ( is_page() && $post->ID == get_option( 'page_on_front' ) )
|
480 |
+
$wp_query->is_front_page = true;
|
481 |
+
elseif ( $post->ID == get_option( 'page_for_posts' ) )
|
482 |
+
$wp_query->is_home = true;
|
483 |
+
}
|
484 |
|
485 |
$args['options']['type'] = 'html';
|
486 |
$args['options']['nowrap'] = false;
|
487 |
$args['options']['save'] = false;
|
488 |
|
|
|
489 |
$title = $this->wp_title();
|
490 |
+
if ( empty( $title ) ) $title = $post->post_title;
|
491 |
|
492 |
if ( ( $aioseop_options['aiosp_can'] ) && ( $url = $this->aiosp_mrt_get_url( $wp_query ) ) )
|
493 |
+
$url = apply_filters( 'aioseop_canonical_url', $url );
|
494 |
if ( !$url ) $url = get_permalink();
|
495 |
|
496 |
$description = $this->get_post_description( $post );
|
498 |
if ( strlen( $title ) > 70 ) $title = $this->trim_excerpt_without_filters( $title, 70 ) . '...';
|
499 |
if ( strlen( $description ) > 156 ) $description = $this->trim_excerpt_without_filters( $description, 156 ) . '...';
|
500 |
|
501 |
+
$args['value'] = sprintf( $args['value'], esc_attr( strip_tags( $title ) ), esc_url( $url ), esc_attr( strip_tags( $description ) ) );
|
502 |
$buf = $this->get_option_row( $args['name'], $args['options'], $args );
|
503 |
|
504 |
wp_reset_postdata();
|
508 |
return $buf;
|
509 |
}
|
510 |
|
511 |
+
function add_page_icon() {
|
512 |
+
wp_enqueue_script( 'wp-pointer', false, array( 'jquery' ) );
|
513 |
+
wp_enqueue_style( 'wp-pointer' );
|
514 |
+
$this->add_admin_pointers();
|
515 |
+
?>
|
516 |
+
<style>
|
517 |
+
#toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
|
518 |
+
background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-16.png) no-repeat 6px 6px !important;
|
519 |
+
}
|
520 |
+
#toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image img {
|
521 |
+
display: none;
|
522 |
+
}
|
523 |
+
#toplevel_page_all-in-one-seo-pack-aioseop_class:hover .wp-menu-image, #toplevel_page_all-in-one-seo-pack-aioseop_class.wp-has-current-submenu .wp-menu-image {
|
524 |
+
background-position: 6px -26px !important;
|
525 |
+
}
|
526 |
+
#icon-aioseop.icon32 {
|
527 |
+
background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield32.png) no-repeat left top !important;
|
528 |
+
}
|
529 |
+
#aioseop_settings_header #message {
|
530 |
+
padding: 5px 0px 5px 50px;
|
531 |
+
background-image: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>update32.png);
|
532 |
+
background-repeat: no-repeat;
|
533 |
+
background-position: 10px;
|
534 |
+
font-size: 14px;
|
535 |
+
min-height: 32px;
|
536 |
+
}
|
537 |
+
|
538 |
+
@media
|
539 |
+
only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
540 |
+
only screen and ( min--moz-device-pixel-ratio: 1.5),
|
541 |
+
only screen and ( -o-min-device-pixel-ratio: 3/2),
|
542 |
+
only screen and ( min-device-pixel-ratio: 1.5),
|
543 |
+
only screen and ( min-resolution: 1.5dppx) {
|
544 |
+
|
545 |
+
#toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
|
546 |
+
background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-32.png') !important;
|
547 |
+
-webkit-background-size: 16px 48px !important;
|
548 |
+
-moz-background-size: 16px 48px !important;
|
549 |
+
background-size: 16px 48px !important;
|
550 |
+
}
|
551 |
+
|
552 |
+
#icon-aioseop.icon32 {
|
553 |
+
background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield64.png') !important;
|
554 |
+
-webkit-background-size: 32px 32px !important;
|
555 |
+
-moz-background-size: 32px 32px !important;
|
556 |
+
background-size: 32px 32px !important;
|
557 |
+
}
|
558 |
+
|
559 |
+
#aioseop_settings_header #message {
|
560 |
+
background-image: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>update64.png) !important;
|
561 |
+
-webkit-background-size: 32px 32px !important;
|
562 |
+
-moz-background-size: 32px 32px !important;
|
563 |
+
background-size: 32px 32px !important;
|
564 |
+
}
|
565 |
+
}
|
566 |
+
</style>
|
567 |
+
<script>
|
568 |
+
function aioseop_show_pointer( handle, value ) {
|
569 |
+
if ( typeof( jQuery ) != 'undefined' ) {
|
570 |
+
var p_edge = 'bottom';
|
571 |
+
var p_align = 'center';
|
572 |
+
if ( typeof( jQuery( value.pointer_target ).pointer) != 'undefined' ) {
|
573 |
+
if ( typeof( value.pointer_edge ) != 'undefined' ) p_edge = value.pointer_edge;
|
574 |
+
if ( typeof( value.pointer_align ) != 'undefined' ) p_align = value.pointer_align;
|
575 |
+
jQuery(value.pointer_target).pointer({
|
576 |
+
content : value.pointer_text,
|
577 |
+
position: {
|
578 |
+
edge: p_edge,
|
579 |
+
align: p_align
|
580 |
+
},
|
581 |
+
close : function() {
|
582 |
+
jQuery.post( ajaxurl, {
|
583 |
+
pointer: handle,
|
584 |
+
action: 'dismiss-wp-pointer'
|
585 |
+
});
|
586 |
+
}
|
587 |
+
}).pointer('open');
|
588 |
+
}
|
589 |
+
}
|
590 |
+
}
|
591 |
+
<?php
|
592 |
+
if ( !empty( $this->pointers ) ) {
|
593 |
+
?>
|
594 |
+
if ( typeof( jQuery ) != 'undefined' ) {
|
595 |
+
jQuery(document).ready(function() {
|
596 |
+
var admin_pointer;
|
597 |
+
var admin_index;
|
598 |
+
<?php
|
599 |
+
foreach( $this->pointers as $k => $p )
|
600 |
+
if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) ) {
|
601 |
+
?>admin_index = "<?php echo esc_attr($k); ?>";
|
602 |
+
admin_pointer = <?php echo json_encode( $p ); ?>;
|
603 |
+
aioseop_show_pointer( admin_index, admin_pointer );
|
604 |
+
<?php
|
605 |
+
}
|
606 |
+
?>
|
607 |
+
});
|
608 |
+
}
|
609 |
+
<?php
|
610 |
+
}
|
611 |
+
?>
|
612 |
+
</script>
|
613 |
+
<?php
|
614 |
+
}
|
615 |
+
|
616 |
function add_page_hooks() {
|
617 |
$post_objs = get_post_types( '', 'objects' );
|
618 |
$pt = array_keys( $post_objs );
|
619 |
+
$rempost = array( 'revision', 'nav_menu_item' );
|
620 |
$pt = array_diff( $pt, $rempost );
|
621 |
$post_types = Array();
|
622 |
foreach ( $pt as $p ) {
|
652 |
$this->layout['cpt']['options'][] = $field;
|
653 |
}
|
654 |
}
|
655 |
+
|
|
|
|
|
|
|
|
|
|
|
656 |
$this->setting_options();
|
657 |
add_filter( "{$this->prefix}display_options", Array( $this, 'filter_options' ), 10, 3 );
|
658 |
parent::add_page_hooks();
|
659 |
}
|
660 |
|
661 |
+
function add_admin_pointers() {
|
662 |
+
$this->pointers['aioseop_menu_202'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-aioseop_class',
|
663 |
+
'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all_in_one_seo_pack' ), AIOSEOP_VERSION )
|
664 |
+
. '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! Please review your settings, as we\'re always adding new features for you!', 'all_in_one_seo_pack' ) . '</p>',
|
665 |
+
'pointer_edge' => 'top',
|
666 |
+
'pointer_align' => 'left',
|
667 |
+
'pointer_scope' => 'global'
|
668 |
+
);
|
669 |
+
$this->pointers['aioseop_welcome_202'] = Array( 'pointer_target' => '#aioseop_top_button',
|
670 |
+
'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', 'all_in_one_seo_pack' ), AIOSEOP_VERSION )
|
671 |
+
. '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New in 2.0: manage your performance with our Performance module; enable it from our new feature manager! And please review your settings, we have added some new ones!', 'all_in_one_seo_pack' ) . '</p>',
|
672 |
+
'pointer_edge' => 'bottom',
|
673 |
+
'pointer_align' => 'left',
|
674 |
+
'pointer_scope' => 'local'
|
675 |
+
);
|
676 |
+
$this->filter_pointers();
|
677 |
+
}
|
678 |
+
|
679 |
function settings_page_init() {
|
680 |
add_filter( "{$this->prefix}submit_options", Array( $this, 'filter_submit' ) );
|
681 |
}
|
899 |
|
900 |
if ( is_admin() ) {
|
901 |
add_action( 'admin_menu', array( $this, 'admin_menu' ) );
|
902 |
+
add_action( 'admin_head', array( $this, 'add_page_icon' ) );
|
903 |
add_action( 'admin_init', 'aioseop_addmycolumns', 1 );
|
904 |
} else {
|
905 |
if ( $aioseop_options['aiosp_can'] == '1' || $aioseop_options['aiosp_can'] == 'on' )
|
998 |
if ( $page_for_posts && ( !is_object( $post ) || ( $page_for_posts != $post->ID ) ) && is_home() )
|
999 |
$blog_page = get_post( $page_for_posts );
|
1000 |
|
1001 |
+
if ( $is_front_page_keywords )
|
1002 |
$keywords = trim( $this->internationalize( $aioseop_options['aiosp_home_keywords'] ) );
|
1003 |
+
elseif ( $this->is_static_posts_page() && !$aioseop_options['aiosp_dynamic_postspage_keywords'] ) // and if option = use page set keywords instead of keywords from recent posts
|
1004 |
$keywords = stripcslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_keywords", true ) ) );
|
1005 |
+
elseif ( !empty( $blog_page ) && !$aioseop_options['aiosp_dynamic_postspage_keywords'] )
|
1006 |
$keywords = stripcslashes( $this->internationalize( get_post_meta( $blog_page->ID, "_aioseop_keywords", true ) ) );
|
1007 |
+
else $keywords = $this->get_all_keywords();
|
1008 |
+
|
1009 |
+
if ( is_category() && $this->show_page_description() )
|
1010 |
+
$description = $this->internationalize( category_description() );
|
1011 |
+
elseif ( is_tag() && $this->show_page_description() )
|
1012 |
+
$description = $this->internationalize( tag_description() );
|
1013 |
+
elseif ( is_tax() && $this->show_page_description() )
|
1014 |
+
$description = $this->internationalize( term_description() );
|
1015 |
+
elseif ( is_author() && $this->show_page_description() )
|
1016 |
+
$description = $this->internationalize( get_the_author_meta( 'description' ) );
|
1017 |
+
else if ( $is_front_page )
|
1018 |
+
$description = trim( stripcslashes( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
|
1019 |
+
else if ( is_single() || is_page() || is_home() || $this->is_static_posts_page() )
|
1020 |
if ( $this->is_static_front_page() )
|
1021 |
$description = trim( stripcslashes( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
|
1022 |
+
elseif ( !empty( $blog_page ) )
|
1023 |
$description = $this->get_post_description( $blog_page );
|
1024 |
+
if ( empty( $description ) && is_object( $post ) && !is_archive() && empty( $blog_page ) )
|
|
|
|
|
|
|
|
|
|
|
1025 |
$description = $this->get_post_description( $post );
|
1026 |
|
1027 |
+
$description = apply_filters( 'aioseop_description', $description );
|
|
|
1028 |
|
1029 |
if ( isset($description) && (strlen($description) > $this->minimum_description_length ) && !( $is_front_page && is_paged() ) ) {
|
1030 |
$description = trim( strip_tags( $description ) );
|
1116 |
$meta_string .= $post_meta;
|
1117 |
}
|
1118 |
|
1119 |
+
if ( !empty( $post ) && isset( $post->post_author ) && empty( $aioseop_options['aiosp_google_disable_profile'] ) )
|
1120 |
$googleplus = get_the_author_meta( 'googleplus', $post->post_author );
|
1121 |
|
1122 |
if ( empty( $googleplus ) && !empty( $aioseop_options['aiosp_google_publisher'] ) )
|
1123 |
$googleplus = $aioseop_options['aiosp_google_publisher'];
|
1124 |
|
1125 |
if ( $is_front_page && !empty( $aioseop_options['aiosp_google_publisher'] ) )
|
1126 |
+
$meta_string = '<link rel="publisher" href="' . $aioseop_options['aiosp_google_publisher'] . '" />' . "\n" . $meta_string;
|
|
|
1127 |
if ( is_singular() && ( $googleplus ) ) {
|
1128 |
$meta_string = '<link rel="author" href="' . $googleplus . '" />' . "\n" . $meta_string;
|
1129 |
} else if ( !empty( $aioseop_options['aiosp_google_publisher'] ) ) {
|
1218 |
// Thank you, Yoast de Valk, for much of this code.
|
1219 |
|
1220 |
function aiosp_mrt_get_url( $query ) {
|
1221 |
+
if ( $query->is_404 || $query->is_search )
|
1222 |
return false;
|
1223 |
+
|
1224 |
$haspost = count( $query->posts ) > 0;
|
1225 |
|
1226 |
if ( get_query_var( 'm' ) ) {
|
1235 |
} elseif ( ( $query->is_single || $query->is_page ) && $haspost ) {
|
1236 |
$post = $query->posts[0];
|
1237 |
$link = get_permalink( $post->ID );
|
|
|
1238 |
} elseif ( $query->is_author && $haspost ) {
|
1239 |
$author = get_userdata( get_query_var( 'author' ) );
|
1240 |
if ($author === false) return false;
|
1241 |
$link = get_author_posts_url( $author->ID, $author->user_nicename );
|
1242 |
} elseif ( $query->is_category && $haspost ) {
|
1243 |
$link = get_category_link( get_query_var( 'cat' ) );
|
1244 |
+
} elseif ( $query->is_tag && $haspost ) {
|
|
|
1245 |
$tag = get_term_by( 'slug', get_query_var( 'tag' ), 'post_tag' );
|
1246 |
+
if ( !empty( $tag->term_id ) )
|
1247 |
$link = get_tag_link( $tag->term_id );
|
|
|
|
|
1248 |
} elseif ( $query->is_day && $haspost ) {
|
1249 |
$link = get_day_link( get_query_var( 'year' ),
|
1250 |
get_query_var( 'monthnum' ),
|
1258 |
if ( (get_option( 'show_on_front' ) == 'page' ) &&
|
1259 |
( $pageid = get_option( 'page_for_posts' ) ) ) {
|
1260 |
$link = get_permalink( $pageid );
|
|
|
|
|
1261 |
} else {
|
1262 |
if ( function_exists( 'icl_get_home_url' ) ) {
|
1263 |
$link = icl_get_home_url();
|
1264 |
} else {
|
1265 |
$link = get_option( 'home' );
|
1266 |
}
|
|
|
|
|
1267 |
}
|
1268 |
} elseif ( $query->is_tax && $haspost ) {
|
1269 |
$taxonomy = get_query_var( 'taxonomy' );
|
1270 |
$term = get_query_var( 'term' );
|
1271 |
$link = get_term_link( $term, $taxonomy );
|
|
|
1272 |
} elseif ( $query->is_archive && function_exists( 'get_post_type_archive_link' ) && ( $post_type = get_query_var( 'post_type' ) ) ) {
|
1273 |
$link = get_post_type_archive_link( $post_type );
|
1274 |
} else {
|
1275 |
return false;
|
1276 |
}
|
1277 |
+
return $this->yoast_get_paged( $link );
|
1278 |
+
}
|
1279 |
+
|
1280 |
+
function get_page_number() {
|
1281 |
+
$page = get_query_var( 'page' );
|
1282 |
+
if ( empty( $page ) )
|
1283 |
+
$page = get_query_var( 'paged' );
|
1284 |
+
return $page;
|
1285 |
}
|
1286 |
|
1287 |
function yoast_get_paged( $link ) {
|
1288 |
+
$page = $this->get_page_number();
|
1289 |
+
if ( !empty( $page ) && $page > 1 ) {
|
1290 |
$link = trailingslashit( $link ) ."page/". "$page";
|
1291 |
$link = user_trailingslashit( $link, 'paged' );
|
1292 |
}
|
1293 |
return $link;
|
1294 |
}
|
1295 |
|
1296 |
+
function show_page_description() {
|
1297 |
+
global $aioseop_options;
|
1298 |
+
if ( !empty( $aioseop_options['aiosp_hide_paginated_descriptions'] ) ) {
|
1299 |
+
$page = $this->get_page_number();
|
1300 |
+
if ( !empty( $page ) && ( $page > 1 ) )
|
1301 |
+
return false;
|
1302 |
+
}
|
1303 |
+
return true;
|
1304 |
+
}
|
1305 |
+
|
1306 |
function get_post_description( $post ) {
|
1307 |
global $aioseop_options;
|
1308 |
+
|
1309 |
+
if ( !$this->show_page_description() )
|
1310 |
+
return '';
|
1311 |
+
|
1312 |
$description = trim( stripcslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
|
1313 |
if ( !$description ) {
|
1314 |
$description = $this->trim_excerpt_without_filters_full_length( $this->internationalize( $post->post_excerpt ) );
|
1315 |
+
if ( !$description && $aioseop_options["aiosp_generate_descriptions"] ) {
|
1316 |
+
$description = $this->trim_excerpt_without_filters( $this->internationalize( $post->post_content ) );
|
1317 |
+
}
|
1318 |
}
|
1319 |
+
|
1320 |
// "internal whitespace trim"
|
1321 |
$description = preg_replace( "/\s\s+/u", " ", $description );
|
1322 |
return $description;
|
1323 |
}
|
1324 |
|
1325 |
+
|
1326 |
function replace_title( $content, $title ) {
|
1327 |
$title = trim( strip_tags( $title ) );
|
1328 |
$title_tag_start = "<title>";
|
1448 |
return $title;
|
1449 |
}
|
1450 |
|
1451 |
+
function get_post_title_format() {
|
1452 |
+
global $aioseop_options;
|
1453 |
+
$title_format = '%post_title% | %blog_title%';
|
1454 |
+
if ( isset( $aioseop_options['aiosp_post_title_format'] ) )
|
1455 |
+
$title_format = $aioseop_options['aiosp_post_title_format'];
|
1456 |
+
if( !empty( $aioseop_options['aiosp_enablecpost'] ) && !empty( $aioseop_options['aiosp_cpostadvanced'] ) && !empty( $aioseop_options['aiosp_cpostactive'] ) ) {
|
1457 |
+
$wp_post_types = $aioseop_options['aiosp_cpostactive'];
|
1458 |
+
if ( is_singular( $wp_post_types ) && !empty( $aioseop_options["aiosp_cposttitles"] ) ) {
|
1459 |
+
$post_type = get_post_type();
|
1460 |
+
if ( !empty( $aioseop_options["aiosp_{$post_type}_title_format"] ) )
|
1461 |
+
$title_format = $aioseop_options["aiosp_{$post_type}_title_format"];
|
1462 |
+
}
|
1463 |
+
}
|
1464 |
+
return $title_format;
|
1465 |
+
}
|
1466 |
+
|
1467 |
+
function apply_post_title_format( $title, $category = '' ) {
|
1468 |
+
global $post;
|
1469 |
+
$title_format = $this->get_post_title_format();
|
1470 |
+
$authordata = get_userdata( $post->post_author );
|
1471 |
+
$r_title = array( '%blog_title%', '%blog_description%', '%post_title%', '%category%', '%category_title%', '%post_author_login%', '%post_author_nicename%', '%post_author_firstname%', '%post_author_lastname%' );
|
1472 |
+
$d_title = array( $this->internationalize( get_bloginfo('name') ), $this->internationalize( get_bloginfo( 'description' ) ), $title, $category, $category, $authordata->user_login, $authordata->user_nicename, ucwords( $authordata->first_name ), ucwords( $authordata->last_name ) );
|
1473 |
+
$title = trim( str_replace( $r_title, $d_title, $title_format ) );
|
1474 |
+
return $title;
|
1475 |
+
}
|
1476 |
+
|
1477 |
+
function apply_page_title_format( $title ) {
|
1478 |
+
global $aioseop_options;
|
1479 |
+
$title_format = $aioseop_options['aiosp_page_title_format'];
|
1480 |
+
$new_title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name' ) ), $title_format );
|
1481 |
+
$new_title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $new_title );
|
1482 |
+
$new_title = str_replace( '%page_title%', $title, $new_title );
|
1483 |
+
$new_title = str_replace( '%page_author_login%', $authordata->user_login, $new_title );
|
1484 |
+
$new_title = str_replace( '%page_author_nicename%', $authordata->user_nicename, $new_title );
|
1485 |
+
$new_title = str_replace( '%page_author_firstname%', ucwords($authordata->first_name ), $new_title );
|
1486 |
+
$new_title = str_replace( '%page_author_lastname%', ucwords($authordata->last_name ), $new_title );
|
1487 |
+
$title = trim( $new_title );
|
1488 |
+
return $title;
|
1489 |
+
}
|
1490 |
+
|
1491 |
/*** Gets the title that will be used by AIOSEOP for title rewrites or returns false. ***/
|
1492 |
function get_aioseop_title( $post ) {
|
1493 |
global $aioseop_options;
|
1497 |
$title = $this->internationalize( $aioseop_options['aiosp_home_title'] );
|
1498 |
if ( empty( $title ) && !empty( $post ) && $this->is_static_front_page() ) {
|
1499 |
$title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
|
1500 |
+
if ( empty( $title ) )
|
1501 |
$title = $this->internationalize( $post->post_title );
|
1502 |
+
if ( empty( $title ) )
|
1503 |
$title = $this->internationalize( $this->get_original_title( '', false ) );
|
1504 |
+
if ( !empty( $title ) )
|
1505 |
+
$title = $this->apply_page_title_format( $title );
|
1506 |
}
|
1507 |
if (empty( $title ) )
|
1508 |
$title = $this->internationalize( get_option( 'blogname' ) );
|
1509 |
return $this->paged_title( $title );
|
1510 |
} else if ( is_attachment() ) {
|
1511 |
if ( $post === null ) return false;
|
1512 |
+
$title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
|
1513 |
+
if ( !empty( $title ) )
|
1514 |
+
return apply_filters( 'aioseop_attachment_title', $this->apply_post_title_format( $title ) );
|
1515 |
+
$title = $this->internationalize( $post->post_title );
|
1516 |
+
if ( !$title )
|
1517 |
+
$title = $this->internationalize( $this->get_original_title( '', false ) );
|
1518 |
+
$title = get_the_title( $post->post_parent ) . ' ' . $title . ' – ' . get_option( 'blogname' );
|
1519 |
+
apply_filters( 'aioseop_attachment_title', $title );
|
1520 |
} else if ( is_page() || $this->is_static_posts_page() || ( is_home() && !$this->is_static_posts_page() ) ) {
|
1521 |
if ( $post === null ) return false;
|
1522 |
// we're not in the loop :(
|
1526 |
return apply_filters( 'aioseop_home_page_title', $home_title );
|
1527 |
} else {
|
1528 |
$page_for_posts = '';
|
1529 |
+
if ( is_home() )
|
1530 |
$page_for_posts = get_option( 'page_for_posts' );
|
|
|
1531 |
if ( $page_for_posts ) {
|
1532 |
$title = $this->internationalize( get_post_meta( $page_for_posts, "_aioseop_title", true ) );
|
1533 |
if ( !$title ) {
|
1542 |
if ( !$title )
|
1543 |
$title = $this->internationalize( $this->get_original_title( '', false ) );
|
1544 |
|
1545 |
+
$title = $this->apply_page_title_format( $title );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1546 |
$title = $this->paged_title( $title );
|
1547 |
$title = apply_filters( 'aioseop_title_page', $title );
|
1548 |
if ( $this->is_static_posts_page() )
|
1563 |
$title = $this->internationalize( get_post_meta( $post->ID, "title_tag", true ) );
|
1564 |
if ( !$title ) $title = $this->internationalize($this->get_original_title( '', false ) );
|
1565 |
}
|
1566 |
+
if ( empty( $title ) ) $title = $post->post_title;
|
1567 |
+
if ( !empty( $title ) )
|
1568 |
+
$title = $this->apply_post_title_format( $title, $category );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1569 |
$title = $this->paged_title( $title );
|
1570 |
return apply_filters( 'aioseop_title_single', $title );
|
1571 |
} else if ( is_search() && isset( $s ) && !empty( $s ) ) {
|
1577 |
$title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $title );
|
1578 |
$title = str_replace( '%search%', $search, $title);
|
1579 |
return $title;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1580 |
} else if ( is_tag() ) {
|
1581 |
global $utw;
|
1582 |
if ( $utw ) {
|
1597 |
$title = $this->paged_title( $title );
|
1598 |
return $title;
|
1599 |
}
|
1600 |
+
} else if ( ( is_tax() || is_category() ) && !is_feed() ) {
|
1601 |
+
$category_description = $this->internationalize( category_description() );
|
1602 |
+
if( !empty( $aioseop_options['aiosp_cap_cats'] ) ) {
|
1603 |
+
$category_name = ucwords( $this->internationalize( single_cat_title( '', false ) ) );
|
1604 |
+
} else {
|
1605 |
+
$category_name = $this->internationalize( single_cat_title( '', false ) );
|
1606 |
+
}
|
1607 |
+
$title_format = $aioseop_options['aiosp_category_title_format'];
|
1608 |
+
$title = str_replace( '%category_title%', $category_name, $title_format );
|
1609 |
+
$title = str_replace( '%category_description%', $category_description, $title );
|
1610 |
+
$title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name' ) ), $title );
|
1611 |
+
$title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $title );
|
1612 |
+
$title = $this->paged_title( $title );
|
1613 |
+
return $title;
|
1614 |
} else if ( isset( $STagging ) && $STagging->is_tag_view() ) { // simple tagging support
|
1615 |
$tag = $STagging->search_tag;
|
1616 |
if ( $tag ) {
|
1646 |
|
1647 |
/*** Used to filter wp_title(), get our title. ***/
|
1648 |
function wp_title() {
|
1649 |
+
global $aioseop_options;
|
1650 |
$title = false;
|
1651 |
$post = $this->get_queried_object();
|
1652 |
+
if ( !empty( $aioseop_options['aiosp_rewrite_titles'] ) )
|
1653 |
+
$title = $this->get_aioseop_title( $post );
|
1654 |
if ( $title === false )
|
1655 |
$title = $this->get_original_title();
|
1656 |
return apply_filters( 'aioseop_title', $title );
|
1740 |
// custom field keywords
|
1741 |
$keywords_i = null;
|
1742 |
|
1743 |
+
$id = $post->ID;
|
1744 |
+
$keywords_i = stripcslashes( $this->internationalize( get_post_meta( $id, "_aioseop_keywords", true ) ) );
|
1745 |
+
if ( is_attachment() ) {
|
1746 |
+
$id = $post->post_parent;
|
1747 |
+
if ( empty( $keywords_i ) )
|
1748 |
+
$keywords_i = stripcslashes( $this->internationalize( get_post_meta( $id, "_aioseop_keywords", true ) ) );
|
1749 |
+
}
|
1750 |
$keywords_i = str_replace( '"', '', $keywords_i );
|
1751 |
if (isset( $keywords_i ) && !empty( $keywords_i ) ) {
|
1752 |
$traverse = explode( ',', $keywords_i );
|
1891 |
$url = menu_page_url( $menu_slug, 0 );
|
1892 |
else
|
1893 |
$url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
|
1894 |
+
$wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'SEO', 'all_in_one_seo_pack' ), 'href' => $url ) );
|
1895 |
+
add_action( 'admin_bar_menu', array( $this, 'admin_bar_upgrade_menu' ), 1101 );
|
1896 |
$aioseop_admin_menu = 1;
|
1897 |
}
|
1898 |
}
|
1899 |
+
|
1900 |
+
function admin_bar_upgrade_menu() {
|
1901 |
+
global $wp_admin_bar;
|
1902 |
+
$wp_admin_bar->add_menu( array( 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Upgrade To Pro', 'all_in_one_seo_pack' ), 'id' => 'aioseop-pro-upgrade', 'href' => 'http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/', 'meta' => Array( 'target' => '_blank' ) ) );
|
1903 |
+
}
|
1904 |
|
1905 |
function menu_order() {
|
1906 |
return 5;
|
1919 |
|
1920 |
$this->update_options( );
|
1921 |
|
1922 |
+
$this->add_admin_pointers();
|
1923 |
+
if ( !empty( $this->pointers ) )
|
1924 |
+
foreach( $this->pointers as $k => $p )
|
1925 |
+
if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) )
|
1926 |
+
unset( $this->pointers[$k] );
|
1927 |
+
|
1928 |
$donated = false;
|
1929 |
if ( ( isset( $_POST ) ) && ( isset( $_POST['module'] ) ) && ( isset( $_POST['nonce-aioseop'] ) ) && ( $_POST['module'] == 'All_in_One_SEO_Pack' ) && ( wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) ) ) {
|
1930 |
if ( isset( $_POST["aiosp_donate"] ) )
|
aioseop_feature_manager.php
CHANGED
@@ -35,6 +35,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
|
|
35 |
$mod[] = 'coming_soon';
|
36 |
|
37 |
foreach ( $mod as $m ) {
|
|
|
38 |
$module_name = ucwords( strtr( $m, '_', ' ' ) );
|
39 |
$this->default_options["enable_$m"] = Array( 'name' => $this->module_info[$m]['name'],
|
40 |
'help_text' => $this->module_info[$m]['description'],
|
35 |
$mod[] = 'coming_soon';
|
36 |
|
37 |
foreach ( $mod as $m ) {
|
38 |
+
if ( $m == 'performance' && !is_super_admin() ) continue;
|
39 |
$module_name = ucwords( strtr( $m, '_', ' ' ) );
|
40 |
$this->default_options["enable_$m"] = Array( 'name' => $this->module_info[$m]['name'],
|
41 |
'help_text' => $this->module_info[$m]['description'],
|
aioseop_functions.php
CHANGED
@@ -107,69 +107,14 @@ if ( !function_exists( 'aioseop_option_isset' ) ) {
|
|
107 |
return ( ( isset( $aioseop_options[$option] ) ) && $aioseop_options[$option] );
|
108 |
}
|
109 |
}
|
110 |
-
if ( !function_exists( 'aioseop_option_page_icon' ) ) {
|
111 |
-
function aioseop_option_page_icon() { ?>
|
112 |
-
<style>
|
113 |
-
#toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
|
114 |
-
background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-16.png) no-repeat 6px 6px !important;
|
115 |
-
}
|
116 |
-
#toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image img {
|
117 |
-
display: none;
|
118 |
-
}
|
119 |
-
#toplevel_page_all-in-one-seo-pack-aioseop_class:hover .wp-menu-image, #toplevel_page_all-in-one-seo-pack-aioseop_class.wp-has-current-submenu .wp-menu-image {
|
120 |
-
background-position: 6px -26px !important;
|
121 |
-
}
|
122 |
-
#icon-aioseop.icon32 {
|
123 |
-
background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield32.png) no-repeat left top !important;
|
124 |
-
}
|
125 |
-
#aioseop_settings_header #message {
|
126 |
-
padding: 5px 0px 5px 50px;
|
127 |
-
background-image: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>update32.png);
|
128 |
-
background-repeat: no-repeat;
|
129 |
-
background-position: 10px;
|
130 |
-
font-size: 14px;
|
131 |
-
min-height: 32px;
|
132 |
-
}
|
133 |
-
|
134 |
-
@media
|
135 |
-
only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
136 |
-
only screen and ( min--moz-device-pixel-ratio: 1.5),
|
137 |
-
only screen and ( -o-min-device-pixel-ratio: 3/2),
|
138 |
-
only screen and ( min-device-pixel-ratio: 1.5),
|
139 |
-
only screen and ( min-resolution: 1.5dppx) {
|
140 |
-
|
141 |
-
#toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
|
142 |
-
background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-32.png') !important;
|
143 |
-
-webkit-background-size: 16px 48px !important;
|
144 |
-
-moz-background-size: 16px 48px !important;
|
145 |
-
background-size: 16px 48px !important;
|
146 |
-
}
|
147 |
-
|
148 |
-
#icon-aioseop.icon32 {
|
149 |
-
background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield64.png') !important;
|
150 |
-
-webkit-background-size: 32px 32px !important;
|
151 |
-
-moz-background-size: 32px 32px !important;
|
152 |
-
background-size: 32px 32px !important;
|
153 |
-
}
|
154 |
-
|
155 |
-
#aioseop_settings_header #message {
|
156 |
-
background-image: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>update64.png) !important;
|
157 |
-
-webkit-background-size: 32px 32px !important;
|
158 |
-
-moz-background-size: 32px 32px !important;
|
159 |
-
background-size: 32px 32px !important;
|
160 |
-
}
|
161 |
-
}
|
162 |
-
</style>
|
163 |
-
<?php
|
164 |
-
}
|
165 |
-
}
|
166 |
|
167 |
if ( !function_exists( 'aioseop_addmycolumns' ) ) {
|
168 |
function aioseop_addmycolumns() {
|
169 |
-
global $aioseop_options;
|
170 |
$aiosp_posttypecolumns = $aioseop_options['aiosp_posttypecolumns'];
|
171 |
-
|
172 |
-
|
|
|
173 |
$post_type = 'post';
|
174 |
else
|
175 |
$post_type = $_GET['post_type'];
|
@@ -178,9 +123,13 @@ if ( !function_exists( 'aioseop_addmycolumns' ) ) {
|
|
178 |
if( is_array( $aiosp_posttypecolumns ) && in_array( $post_type, $aiosp_posttypecolumns ) ) {
|
179 |
if ( $post_type == 'page' )
|
180 |
add_filter( 'manage_pages_columns', 'aioseop_mrt_pcolumns' );
|
|
|
|
|
181 |
else
|
182 |
add_filter( 'manage_posts_columns', 'aioseop_mrt_pcolumns' );
|
183 |
-
if
|
|
|
|
|
184 |
add_action( 'manage_pages_custom_column', 'aioseop_mrt_pccolumn', 10, 2 );
|
185 |
else
|
186 |
add_action( 'manage_posts_custom_column', 'aioseop_mrt_pccolumn', 10, 2 );
|
@@ -400,7 +349,9 @@ if ( !function_exists( 'aioseop_filter_callback' ) ) {
|
|
400 |
|
401 |
if ( !function_exists( 'aioseop_add_contactmethods' ) ) {
|
402 |
function aioseop_add_contactmethods( $contactmethods ) {
|
403 |
-
$
|
|
|
|
|
404 |
return $contactmethods;
|
405 |
}
|
406 |
}
|
107 |
return ( ( isset( $aioseop_options[$option] ) ) && $aioseop_options[$option] );
|
108 |
}
|
109 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
if ( !function_exists( 'aioseop_addmycolumns' ) ) {
|
112 |
function aioseop_addmycolumns() {
|
113 |
+
global $aioseop_options, $pagenow;
|
114 |
$aiosp_posttypecolumns = $aioseop_options['aiosp_posttypecolumns'];
|
115 |
+
if ( !empty( $pagenow ) && ( $pagenow == 'upload.php' ) )
|
116 |
+
$post_type = 'attachment';
|
117 |
+
elseif ( !isset( $_GET['post_type'] ) )
|
118 |
$post_type = 'post';
|
119 |
else
|
120 |
$post_type = $_GET['post_type'];
|
123 |
if( is_array( $aiosp_posttypecolumns ) && in_array( $post_type, $aiosp_posttypecolumns ) ) {
|
124 |
if ( $post_type == 'page' )
|
125 |
add_filter( 'manage_pages_columns', 'aioseop_mrt_pcolumns' );
|
126 |
+
elseif ( $post_type == 'attachment' )
|
127 |
+
add_filter( 'manage_media_columns', 'aioseop_mrt_pcolumns' );
|
128 |
else
|
129 |
add_filter( 'manage_posts_columns', 'aioseop_mrt_pcolumns' );
|
130 |
+
if ( $post_type == 'attachment' )
|
131 |
+
add_action( 'manage_media_custom_column', 'aioseop_mrt_pccolumn', 10, 2 );
|
132 |
+
elseif ( is_post_type_hierarchical( $post_type ) )
|
133 |
add_action( 'manage_pages_custom_column', 'aioseop_mrt_pccolumn', 10, 2 );
|
134 |
else
|
135 |
add_action( 'manage_posts_custom_column', 'aioseop_mrt_pccolumn', 10, 2 );
|
349 |
|
350 |
if ( !function_exists( 'aioseop_add_contactmethods' ) ) {
|
351 |
function aioseop_add_contactmethods( $contactmethods ) {
|
352 |
+
global $aioseop_options;
|
353 |
+
if ( empty( $aioseop_options['aiosp_google_disable_profile'] ) )
|
354 |
+
$contactmethods['googleplus'] = __( 'Google+', 'all_in_one_seo_pack' );
|
355 |
return $contactmethods;
|
356 |
}
|
357 |
}
|
aioseop_module.js
CHANGED
@@ -93,20 +93,6 @@ function aioseop_do_condshow( condshow ) {
|
|
93 |
}
|
94 |
}
|
95 |
|
96 |
-
function aioseop_show_pointer( handle, value ) {
|
97 |
-
if ( typeof( jQuery( value.pointer_target ).pointer) != 'undefined' ) {
|
98 |
-
jQuery(value.pointer_target).pointer({
|
99 |
-
content : value.pointer_text,
|
100 |
-
close : function() {
|
101 |
-
jQuery.post( ajaxurl, {
|
102 |
-
pointer: handle,
|
103 |
-
action: 'dismiss-wp-pointer'
|
104 |
-
});
|
105 |
-
}
|
106 |
-
}).pointer('open');
|
107 |
-
}
|
108 |
-
}
|
109 |
-
|
110 |
jQuery(document).ready(function(){
|
111 |
if (typeof aioseop_data != 'undefined') {
|
112 |
if ( typeof aioseop_data.condshow != 'undefined' ) {
|
93 |
}
|
94 |
}
|
95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
jQuery(document).ready(function(){
|
97 |
if (typeof aioseop_data != 'undefined') {
|
98 |
if ( typeof aioseop_data.condshow != 'undefined' ) {
|
aioseop_module_class.php
CHANGED
@@ -781,6 +781,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
781 |
$this->setting_options( $k ); // hack -- make sure this runs anyhow, for now -- pdb
|
782 |
add_action( 'edit_post', array( $this, 'save_post_data' ) );
|
783 |
add_action( 'publish_post', array( $this, 'save_post_data' ) );
|
|
|
|
|
784 |
add_action( 'save_post', array( $this, 'save_post_data' ) );
|
785 |
add_action( 'edit_page_form', array( $this, 'save_post_data' ) );
|
786 |
if ( isset( $v['display'] ) && !empty( $v['display'] ) ) {
|
@@ -895,7 +897,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
895 |
$buf = '';
|
896 |
if ( !empty( $options['count'] ) ) {
|
897 |
$n++;
|
898 |
-
$attr .= " onKeyDown='countChars(document.post.$name,document.post.length$n)' onKeyUp='countChars(document.post.$name,document.post.length$n)'";
|
899 |
}
|
900 |
if ( isset( $opts['id'] ) ) $attr .= " id=\"{$opts['id']}\" ";
|
901 |
switch ( $options['type'] ) {
|
@@ -919,7 +921,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
919 |
$size = 60;
|
920 |
if ( isset( $options['size'] ) ) $size = $options['size'];
|
921 |
elseif ( isset( $options['rows'] ) && isset( $options['cols'] ) ) $size = $options['rows'] * $options['cols'];
|
922 |
-
$buf .= "<br /><input readonly type='text' name='length$n' size='3' maxlength='3' style='width:53px;height:23px;margin:0px;padding:0px 0px 0px 10px;' value='" . strlen($value) . "' />"
|
923 |
. sprintf( __(' characters. Most search engines use a maximum of %s chars for the %s.', 'all_in_one_seo_pack'), $size, strtolower( $options['name'] ) );
|
924 |
}
|
925 |
return $buf;
|
781 |
$this->setting_options( $k ); // hack -- make sure this runs anyhow, for now -- pdb
|
782 |
add_action( 'edit_post', array( $this, 'save_post_data' ) );
|
783 |
add_action( 'publish_post', array( $this, 'save_post_data' ) );
|
784 |
+
add_action( 'add_attachment', array( $this, 'save_post_data' ) );
|
785 |
+
add_action( 'edit_attachment', array( $this, 'save_post_data' ) );
|
786 |
add_action( 'save_post', array( $this, 'save_post_data' ) );
|
787 |
add_action( 'edit_page_form', array( $this, 'save_post_data' ) );
|
788 |
if ( isset( $v['display'] ) && !empty( $v['display'] ) ) {
|
897 |
$buf = '';
|
898 |
if ( !empty( $options['count'] ) ) {
|
899 |
$n++;
|
900 |
+
$attr .= " onKeyDown='countChars(document.post.$name,document.post.{$prefix}length$n)' onKeyUp='countChars(document.post.$name,document.post.{$prefix}length$n)'";
|
901 |
}
|
902 |
if ( isset( $opts['id'] ) ) $attr .= " id=\"{$opts['id']}\" ";
|
903 |
switch ( $options['type'] ) {
|
921 |
$size = 60;
|
922 |
if ( isset( $options['size'] ) ) $size = $options['size'];
|
923 |
elseif ( isset( $options['rows'] ) && isset( $options['cols'] ) ) $size = $options['rows'] * $options['cols'];
|
924 |
+
$buf .= "<br /><input readonly type='text' name='{$prefix}length$n' size='3' maxlength='3' style='width:53px;height:23px;margin:0px;padding:0px 0px 0px 10px;' value='" . strlen($value) . "' />"
|
925 |
. sprintf( __(' characters. Most search engines use a maximum of %s chars for the %s.', 'all_in_one_seo_pack'), $size, strtolower( $options['name'] ) );
|
926 |
}
|
927 |
return $buf;
|
aioseop_module_manager.php
CHANGED
@@ -72,6 +72,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module_Manager' ) ) {
|
|
72 |
if ( !is_array( $this->modules ) ) return false;
|
73 |
$v = $this->modules[ $mod ];
|
74 |
if ( $v !== null ) return false; // already loaded
|
|
|
75 |
$mod_enable = false;
|
76 |
$fm_page = ( $this->module_settings_update && wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) &&
|
77 |
isset($_REQUEST['page']) && $_REQUEST['page'] == trailingslashit( AIOSEOP_PLUGIN_DIRNAME ) . 'aioseop_feature_manager.php' );
|
72 |
if ( !is_array( $this->modules ) ) return false;
|
73 |
$v = $this->modules[ $mod ];
|
74 |
if ( $v !== null ) return false; // already loaded
|
75 |
+
if ( $mod == 'performance' && !is_super_admin() ) return false;
|
76 |
$mod_enable = false;
|
77 |
$fm_page = ( $this->module_settings_update && wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) &&
|
78 |
isset($_REQUEST['page']) && $_REQUEST['page'] == trailingslashit( AIOSEOP_PLUGIN_DIRNAME ) . 'aioseop_feature_manager.php' );
|
all_in_one_seo_pack.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: All In One SEO Pack
|
4 |
Plugin URI: http://semperfiwebdesign.com
|
5 |
Description: Out-of-the-box SEO for your WordPress blog. <a href="admin.php?page=all-in-one-seo-pack/aioseop_class.php">Options configuration panel</a> | <a href="http://semperplugins.com/plugins/">Upgrade to Pro Version</a> | <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0¤cy_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8">Donate</a> | <a href="http://semperplugins.com/support/" >Support</a> | <a href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank" title="Amazon Wish List">Amazon Wishlist</a>
|
6 |
-
Version: 2.0.
|
7 |
Author: Michael Torbert
|
8 |
Author URI: http://michaeltorbert.com
|
9 |
*/
|
@@ -30,11 +30,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
30 |
|
31 |
/**
|
32 |
* @package All-in-One-SEO-Pack
|
33 |
-
* @version 2.0.
|
34 |
*/
|
35 |
|
36 |
if ( ! defined( 'AIOSEOP_VERSION' ) )
|
37 |
-
define( 'AIOSEOP_VERSION', '2.0.
|
38 |
|
39 |
if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
|
40 |
define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
3 |
Plugin Name: All In One SEO Pack
|
4 |
Plugin URI: http://semperfiwebdesign.com
|
5 |
Description: Out-of-the-box SEO for your WordPress blog. <a href="admin.php?page=all-in-one-seo-pack/aioseop_class.php">Options configuration panel</a> | <a href="http://semperplugins.com/plugins/">Upgrade to Pro Version</a> | <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0¤cy_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8">Donate</a> | <a href="http://semperplugins.com/support/" >Support</a> | <a href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank" title="Amazon Wish List">Amazon Wishlist</a>
|
6 |
+
Version: 2.0.2
|
7 |
Author: Michael Torbert
|
8 |
Author URI: http://michaeltorbert.com
|
9 |
*/
|
30 |
|
31 |
/**
|
32 |
* @package All-in-One-SEO-Pack
|
33 |
+
* @version 2.0.2
|
34 |
*/
|
35 |
|
36 |
if ( ! defined( 'AIOSEOP_VERSION' ) )
|
37 |
+
define( 'AIOSEOP_VERSION', '2.0.2' );
|
38 |
|
39 |
if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
|
40 |
define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|