Version Description
Download this release
Release Info
Developer | pbaylies |
Plugin | All in One SEO Pack |
Version | 2.2.6 |
Comparing to | |
See all releases |
Code changes from version 2.2.5.1 to 2.2.6
- aioseop_class.php +145 -71
- aioseop_functions.php +34 -19
- aioseop_module.css +8 -0
- aioseop_module_class.php +1 -1
- aioseop_opengraph.php +21 -7
- all_in_one_seo_pack.php +5 -3
- quickedit_functions.js +5 -1
- readme.txt +1 -1
aioseop_class.php
CHANGED
@@ -75,25 +75,34 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
75 |
"no_paged_canonical_links"=> __( "Checking this option will set the Canonical URL for all paginated content to the first page.", 'all_in_one_seo_pack'),
|
76 |
"customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", 'all_in_one_seo_pack'),
|
77 |
"can_set_protocol" => __( "Set protocol for canonical URLs.", 'all_in_one_seo_pack' ),
|
78 |
-
"use_original_title" => __( "Use wp_title to
|
79 |
"do_log" => __( "Check this and All in One SEO Pack will create a log of important events (all_in_one_seo_pack.log) in its plugin directory which might help debugging. Make sure this directory is writable.", 'all_in_one_seo_pack' ),
|
80 |
"home_title" => __( "As the name implies, this will be the Meta Title of your homepage. This is independent of any other option. If not set, the default Site Title (found in WordPress under Settings, General, Site Title) will be used.", 'all_in_one_seo_pack' ),
|
81 |
"home_description" => __( "This will be the Meta Description for your homepage. This is independent of any other option. The default is no Meta Description at all if this is not set.", 'all_in_one_seo_pack' ),
|
82 |
"home_keywords" => __( "Enter a comma separated list of your most important keywords for your site that will be written as Meta Keywords on your homepage. Don\'t stuff everything in here.", 'all_in_one_seo_pack' ),
|
|
|
83 |
"togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", 'all_in_one_seo_pack' ),
|
84 |
"use_categories" => __( "Check this if you want your categories for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all_in_one_seo_pack' ),
|
85 |
"use_tags_as_keywords" => __( "Check this if you want your tags for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all_in_one_seo_pack' ),
|
86 |
-
"dynamic_postspage_keywords"=> __( "Check this if you want your keywords on your Posts page (set in WordPress under Settings, Reading, Front Page Displays) to be dynamically generated from the keywords of the posts showing on that page. If unchecked, it will use the keywords set in the edit page screen for the posts page.", 'all_in_one_seo_pack'),
|
87 |
"rewrite_titles" => __( "Note that this is all about the title tag. This is what you see in your browser's window title bar. This is NOT visible on a page, only in the title bar and in the source code. If enabled, all page, post, category, search and archive page titles get rewritten. You can specify the format for most of them. For example: Using the default post title format below, Rewrite Titles will write all post titles as 'Post Title | Blog Name'. If you have manually defined a title using All in One SEO Pack, this will become the title of your post in the format string.", 'all_in_one_seo_pack' ),
|
88 |
"cap_titles" => __( "Check this and Search Page Titles and Tag Page Titles will have the first letter of each word capitalized.", 'all_in_one_seo_pack' ),
|
89 |
"cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", 'all_in_one_seo_pack'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
"page_title_format" =>
|
91 |
__( "This controls the format of the title tag for Pages.<br />The following macros are supported:", 'all_in_one_seo_pack' )
|
92 |
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
|
93 |
__( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
|
94 |
__( '%page_title% - The original title of the page', 'all_in_one_seo_pack' ) . '</li><li>' .
|
95 |
-
__( '%category_title% - The (main) category of the page', 'all_in_one_seo_pack' ) . '</li><li>' .
|
96 |
-
__( '%category% - Alias for %category_title%', 'all_in_one_seo_pack' ) . '</li><li>' .
|
97 |
__( "%page_author_login% - This page's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
|
98 |
__( "%page_author_nicename% - This page's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
|
99 |
__( "%page_author_firstname% - This page's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
|
@@ -309,11 +318,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
309 |
"home_title"=> Array(
|
310 |
'name' => __( 'Home Title:', 'all_in_one_seo_pack' ),
|
311 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
312 |
-
'count' => true, 'rows' => 1, 'cols' => 60
|
|
|
313 |
"home_description"=> Array(
|
314 |
'name' => __( 'Home Description:', 'all_in_one_seo_pack' ),
|
315 |
'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
|
316 |
-
'count' => true, 'cols' => 80, 'rows' => 2
|
|
|
317 |
"togglekeywords" => Array(
|
318 |
'name' => __( 'Use Keywords:', 'all_in_one_seo_pack' ),
|
319 |
'default' => 0,
|
@@ -324,7 +335,14 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
324 |
"home_keywords"=> Array(
|
325 |
'name' => __( 'Home Keywords (comma separated):', 'all_in_one_seo_pack' ),
|
326 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
327 |
-
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
"can"=> Array(
|
329 |
'name' => __( 'Canonical URLs:', 'all_in_one_seo_pack' ),
|
330 |
'default' => 1),
|
@@ -371,6 +389,10 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
371 |
'name' => __( 'Capitalize Titles:', 'all_in_one_seo_pack' ), 'default' => 1),
|
372 |
"cap_cats"=> Array(
|
373 |
'name' => __( 'Capitalize Category Titles:', 'all_in_one_seo_pack' ), 'default' => 1),
|
|
|
|
|
|
|
|
|
374 |
"page_title_format"=> Array(
|
375 |
'name' => __( 'Page Title Format:', 'all_in_one_seo_pack' ),
|
376 |
'type' => 'text', 'default' => '%page_title% | %blog_title%',
|
@@ -422,6 +444,11 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
422 |
'initial_options' => Array( 'on' => __( 'Enabled', 'all_in_one_seo_pack' ),
|
423 |
0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
|
424 |
),
|
|
|
|
|
|
|
|
|
|
|
425 |
"cpostadvanced" => Array(
|
426 |
'name' => __( 'Enable Advanced Options:', 'all_in_one_seo_pack' ),
|
427 |
'default' => 0, 'type' => 'radio',
|
@@ -430,11 +457,6 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
430 |
'label' => null,
|
431 |
'condshow' => Array( "aiosp_enablecpost" => 'on' )
|
432 |
),
|
433 |
-
"cpostactive" => Array(
|
434 |
-
'name' => __( 'SEO on only these post types:', 'all_in_one_seo_pack' ),
|
435 |
-
'type' => 'multicheckbox', 'default' => array('post', 'page'),
|
436 |
-
'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
|
437 |
-
),
|
438 |
"cpostnoindex" => Array(
|
439 |
'name' => __( 'Default to NOINDEX:', 'all_in_one_seo_pack' ),
|
440 |
'type' => 'multicheckbox', 'default' => array(),
|
@@ -570,7 +592,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
570 |
'default' => 1,
|
571 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
572 |
"dynamic_postspage_keywords"=> Array(
|
573 |
-
'name' => __( 'Dynamically Generate Keywords for Posts Page:', 'all_in_one_seo_pack' ),
|
574 |
'default' => 1,
|
575 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
576 |
"category_noindex"=> Array(
|
@@ -661,7 +683,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
661 |
<script>
|
662 |
jQuery(document).ready(function() {
|
663 |
jQuery("#aiosp_title_wrapper").bind("input", function() {
|
664 |
-
jQuery("#
|
665 |
});
|
666 |
jQuery("#aiosp_description_wrapper").bind("input", function() {
|
667 |
jQuery("#aioseop_snippet_description").text(jQuery("#aiosp_description_wrapper textarea").val().replace(/<(?:.|\n)*?>/gm, ""));
|
@@ -671,6 +693,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
671 |
<div class="preview_snippet"><div id="aioseop_snippet"><h3><a>%s</a></h3><div><div><cite id="aioseop_snippet_link">%s</cite></div><span id="aioseop_snippet_description">%s</span></div></div></div>' ),
|
672 |
'title' => Array( 'name' => __( 'Title', 'all_in_one_seo_pack' ), 'type' => 'text', 'count' => true, 'size' => 60 ),
|
673 |
'description' => Array( 'name' => __( 'Description', 'all_in_one_seo_pack' ), 'type' => 'textarea', 'count' => true, 'cols' => 80, 'rows' => 2 ),
|
|
|
674 |
'keywords' => Array( 'name' => __( 'Keywords (comma separated)', 'all_in_one_seo_pack' ), 'type' => 'text' ),
|
675 |
'custom_link' => Array( 'name' => __( 'Custom Canonical URL', 'all_in_one_seo_pack' ), 'type' => 'text', 'size' => 60 ),
|
676 |
'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", 'all_in_one_seo_pack' ), 'default' => '' ),
|
@@ -698,7 +721,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
698 |
'home' => Array(
|
699 |
'name' => __( 'Home Page Settings', 'all_in_one_seo_pack' ),
|
700 |
'help_link' => 'http://semperplugins.com/documentation/home-page-settings/',
|
701 |
-
'options' => Array( 'home_title', 'home_description', 'home_keywords' )
|
702 |
),
|
703 |
'keywords' => Array(
|
704 |
'name' => __( 'Keyword Settings', 'all_in_one_seo_pack' ),
|
@@ -708,7 +731,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
708 |
'title' => Array(
|
709 |
'name' => __( 'Title Settings', 'all_in_one_seo_pack' ),
|
710 |
'help_link' => 'http://semperplugins.com/documentation/title-settings/',
|
711 |
-
'options' => Array( "rewrite_titles", "force_rewrites", "cap_titles", "cap_cats", "page_title_format", "post_title_format", "category_title_format", "archive_title_format", "date_title_format", "author_title_format",
|
712 |
"tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
|
713 |
),
|
714 |
'cpt' => Array(
|
@@ -764,7 +787,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
764 |
if ( !empty( $info ) )
|
765 |
return $info;
|
766 |
global $post, $aioseop_options, $wp_query;
|
767 |
-
$title = $url = $description = $term = '';
|
768 |
$p = $post; $w = $wp_query;
|
769 |
if ( !is_object( $post ) ) $post = $this->get_queried_object();
|
770 |
if ( empty( $this->meta_opts ) )
|
@@ -775,7 +798,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
775 |
if ( is_object( $post ) ) {
|
776 |
$opts = $this->meta_opts;
|
777 |
$post_id = $p->ID;
|
778 |
-
if (
|
779 |
$wp_query = new WP_Query( array( 'p' => $post_id, 'post_type' => $post->post_type ) );
|
780 |
if ( $post->post_type == 'page' )
|
781 |
$wp_query->is_page = true;
|
@@ -804,11 +827,15 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
804 |
if ( is_page() )
|
805 |
$title_format = $aioseop_options['aiosp_page_title_format'];
|
806 |
elseif ( is_single() || is_attachment() )
|
807 |
-
$title_format = $this->get_post_title_format();
|
808 |
}
|
809 |
if ( empty( $title_format ) ) {
|
810 |
$title_format = '%post_title%';
|
811 |
}
|
|
|
|
|
|
|
|
|
812 |
} else if ( is_object( $term ) ) {
|
813 |
if ( $_GET['taxonomy'] == 'category' ) {
|
814 |
query_posts( Array( 'cat' => $_GET['tag_ID'] ) );
|
@@ -845,9 +872,10 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
845 |
$keywords = $this->apply_cf_fields( $keywords );
|
846 |
$keywords = apply_filters( 'aioseop_keywords', $keywords );
|
847 |
|
|
|
|
|
848 |
wp_reset_postdata();
|
849 |
$wp_query = $w; $post = $p;
|
850 |
-
$info = Array( 'title' => $title, 'description' => $description, 'keywords' => $keywords, 'url' => $url, 'title_format' => $title_format );
|
851 |
return $info;
|
852 |
}
|
853 |
|
@@ -865,15 +893,21 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
865 |
if ( $this->strlen( $description ) > 156 ) $description = $this->trim_excerpt_without_filters( $description, 156 ) . '...';
|
866 |
$extra_title_len = 0;
|
867 |
if ( empty( $title_format ) ) {
|
868 |
-
$title = '<span id="
|
869 |
} else {
|
870 |
if ( strpos( $title_format, '%blog_title%' ) !== false ) $title_format = str_replace( '%blog_title%', get_bloginfo( 'name' ), $title_format );
|
871 |
$title_format = $this->apply_cf_fields( $title_format );
|
872 |
-
$replace_title = '<span id="
|
873 |
if ( strpos( $title_format, '%post_title%' ) !== false ) $title_format = str_replace( '%post_title%', $replace_title, $title_format );
|
874 |
if ( strpos( $title_format, '%page_title%' ) !== false ) $title_format = str_replace( '%page_title%', $replace_title, $title_format );
|
875 |
-
if (
|
876 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
877 |
if ( strpos( $title_format, '%taxonomy_description%' ) !== false ) $title_format = str_replace( '%taxonomy_description%', $description, $title_format );
|
878 |
|
879 |
$title_format = preg_replace( '/%([^%]*?)%/', '', $title_format );
|
@@ -1034,8 +1068,6 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1034 |
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
|
1035 |
__( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
|
1036 |
__( '%post_title% - The original title of the post', 'all_in_one_seo_pack' ) . '</li><li>' .
|
1037 |
-
__( '%category_title% - The (main) category of the post', 'all_in_one_seo_pack' ) . '</li><li>' .
|
1038 |
-
__( '%category% - Alias for %category_title%', 'all_in_one_seo_pack' ) . '</li><li>' .
|
1039 |
__( "%post_author_login% - This post's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
|
1040 |
__( "%post_author_nicename% - This post's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
|
1041 |
__( "%post_author_firstname% - This post's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
|
@@ -1323,7 +1355,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1323 |
if ( empty( $aioseop_options['aiosp_enablecpost'] ) ) {
|
1324 |
$wp_post_types = get_post_types( Array( '_builtin' => true ) ); // don't display meta if SEO isn't enabled on custom post types -- pdb
|
1325 |
if( is_singular() && !in_array( $post_type, $wp_post_types ) && !is_front_page() ) return false;
|
1326 |
-
}
|
1327 |
$wp_post_types = $aioseop_options['aiosp_cpostactive'];
|
1328 |
if ( is_singular() && !in_array( $post_type, $wp_post_types ) && !is_front_page() ) return false;
|
1329 |
if ( is_post_type_archive() && !is_post_type_archive( $wp_post_types ) ) return false;
|
@@ -1411,7 +1443,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1411 |
function is_static_front_page() {
|
1412 |
if ( isset( $this->is_front_page ) && $this->is_front_page !== null ) return $this->is_front_page;
|
1413 |
$post = $this->get_queried_object();
|
1414 |
-
$this->is_front_page = ( get_option( 'show_on_front' ) == 'page' && is_page() && $post->ID == get_option( 'page_on_front' ) );
|
1415 |
return $this->is_front_page;
|
1416 |
}
|
1417 |
|
@@ -1419,7 +1451,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1419 |
static $is_posts_page = null;
|
1420 |
if ( $is_posts_page !== null ) return $is_posts_page;
|
1421 |
$post = $this->get_queried_object();
|
1422 |
-
$is_posts_page = ( get_option( 'show_on_front' ) == 'page' && is_home() && $post->ID == get_option( 'page_for_posts' ) );
|
1423 |
return $is_posts_page;
|
1424 |
}
|
1425 |
|
@@ -1612,7 +1644,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1612 |
if ( is_author() && $this->show_page_description() ) {
|
1613 |
$description = $this->internationalize( get_the_author_meta( 'description' ) );
|
1614 |
} else if ( is_front_page() ) {
|
1615 |
-
$description =
|
1616 |
} else if ( function_exists( 'woocommerce_get_page_id' ) && is_post_type_archive( 'product' ) && ( $post_id = woocommerce_get_page_id( 'shop' ) ) && ( $post = get_post( $post_id ) ) ) {
|
1617 |
$description = $this->get_post_description( $post );
|
1618 |
$description = $this->apply_cf_fields( $description );
|
@@ -1668,11 +1700,17 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1668 |
global $post;
|
1669 |
$opts = $this->meta_opts;
|
1670 |
if ( ( ( is_front_page() && $aioseop_options['aiosp_home_keywords'] && !$this->is_static_posts_page() ) || $this->is_static_front_page() ) ) {
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
|
|
|
|
|
|
|
|
1674 |
} elseif ( ( $blog_page = $this->get_blog_page( $post ) ) && empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) ) {
|
1675 |
-
|
|
|
|
|
1676 |
} else {
|
1677 |
$keywords = $this->get_all_keywords();
|
1678 |
}
|
@@ -2277,6 +2315,14 @@ EOF;
|
|
2277 |
default:
|
2278 |
return false;
|
2279 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2280 |
} elseif ( ( $query->is_single || $query->is_page ) && $haspost ) {
|
2281 |
$post = $query->posts[0];
|
2282 |
$link = get_permalink( $post->ID );
|
@@ -2299,17 +2345,6 @@ EOF;
|
|
2299 |
get_query_var( 'monthnum' ) );
|
2300 |
} elseif ( $query->is_year && $haspost ) {
|
2301 |
$link = get_year_link( get_query_var( 'year' ) );
|
2302 |
-
} elseif ( $query->is_home ) {
|
2303 |
-
if ( (get_option( 'show_on_front' ) == 'page' ) &&
|
2304 |
-
( $pageid = get_option( 'page_for_posts' ) ) ) {
|
2305 |
-
$link = get_permalink( $pageid );
|
2306 |
-
} else {
|
2307 |
-
if ( function_exists( 'icl_get_home_url' ) ) {
|
2308 |
-
$link = icl_get_home_url();
|
2309 |
-
} else {
|
2310 |
-
$link = trailingslashit( home_url() );
|
2311 |
-
}
|
2312 |
-
}
|
2313 |
} elseif ( $query->is_tax && $haspost ) {
|
2314 |
$taxonomy = get_query_var( 'taxonomy' );
|
2315 |
$term = get_query_var( 'term' );
|
@@ -2359,7 +2394,14 @@ EOF;
|
|
2359 |
}
|
2360 |
return $link;
|
2361 |
}
|
2362 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2363 |
function show_page_description() {
|
2364 |
global $aioseop_options;
|
2365 |
if ( !empty( $aioseop_options['aiosp_hide_paginated_descriptions'] ) ) {
|
@@ -2372,11 +2414,14 @@ EOF;
|
|
2372 |
|
2373 |
function get_post_description( $post ) {
|
2374 |
global $aioseop_options;
|
2375 |
-
|
2376 |
if ( !$this->show_page_description() )
|
2377 |
return '';
|
2378 |
|
2379 |
$description = trim( stripslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
|
|
|
|
|
|
|
2380 |
if ( !$description ) {
|
2381 |
if ( empty( $aioseop_options["aiosp_skip_excerpt"] ) )
|
2382 |
$description = $this->trim_excerpt_without_filters_full_length( $this->internationalize( $post->post_excerpt ) );
|
@@ -2414,7 +2459,8 @@ EOF;
|
|
2414 |
if ( $post === null )
|
2415 |
$post = $GLOBALS["post"];
|
2416 |
$blog_page = $this->get_blog_page();
|
2417 |
-
|
|
|
2418 |
$description = trim( stripslashes( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
|
2419 |
elseif ( !empty( $blog_page ) )
|
2420 |
$description = $this->get_post_description( $blog_page );
|
@@ -2446,19 +2492,29 @@ EOF;
|
|
2446 |
if ( function_exists( 'polyglot_filter' ) )
|
2447 |
$in = polyglot_filter( $in );
|
2448 |
|
2449 |
-
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) )
|
2450 |
$in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
|
|
|
|
|
|
|
|
|
|
|
2451 |
|
2452 |
return apply_filters( 'localization', $in );
|
2453 |
}
|
2454 |
|
2455 |
/** @return The original title as delivered by WP (well, in most cases) */
|
2456 |
-
function get_original_title( $sep = '', $echo = false, $seplocation = '' ) {
|
2457 |
global $aioseop_options;
|
2458 |
if ( !empty( $aioseop_options['aiosp_use_original_title'] ) ) {
|
2459 |
$has_filter = has_filter( 'wp_title', Array( $this, 'wp_title' ) );
|
2460 |
if ( $has_filter !== false )
|
2461 |
remove_filter( 'wp_title', Array( $this, 'wp_title' ), $has_filter );
|
|
|
|
|
|
|
|
|
|
|
2462 |
$title = wp_title( $sep, $echo, $seplocation );
|
2463 |
if ( $has_filter !== false )
|
2464 |
add_filter( 'wp_title', Array( $this, 'wp_title' ), $has_filter );
|
@@ -2560,8 +2616,7 @@ EOF;
|
|
2560 |
if ( strpos( $title, '%category_description%' ) !== false ) $title = str_replace( '%category_description%', $category_description, $title );
|
2561 |
if ( strpos( $title, '%blog_title%' ) !== false ) $title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name' ) ), $title );
|
2562 |
if ( strpos( $title, '%blog_description%' ) !== false ) $title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $title );
|
2563 |
-
$title =
|
2564 |
-
$title = str_replace( Array( '"', "\r\n", "\n" ), Array( '"', ' ', ' ' ), $title );
|
2565 |
return $this->paged_title( $title );
|
2566 |
}
|
2567 |
|
@@ -2590,20 +2645,21 @@ EOF;
|
|
2590 |
return $this->apply_tax_title_format( $name, $desc, $tax );
|
2591 |
}
|
2592 |
|
2593 |
-
function get_post_title_format( $title_type = 'post' ) {
|
2594 |
global $aioseop_options;
|
2595 |
if ( ( $title_type != 'post' ) && ( $title_type != 'archive' ) ) return false;
|
2596 |
$title_format = "%{$title_type}_title% | %blog_title%";
|
2597 |
if ( isset( $aioseop_options["aiosp_{$title_type}_title_format"] ) )
|
2598 |
$title_format = $aioseop_options["aiosp_{$title_type}_title_format"];
|
2599 |
-
if( !empty( $aioseop_options['aiosp_enablecpost'] ) && !empty( $aioseop_options['
|
2600 |
$wp_post_types = $aioseop_options['aiosp_cpostactive'];
|
2601 |
if ( !empty( $aioseop_options["aiosp_cposttitles"] ) ) {
|
2602 |
if ( ( ( $title_type == 'archive' ) && is_post_type_archive( $wp_post_types ) && $prefix = "aiosp_{$title_type}_" ) ||
|
2603 |
-
|
2604 |
-
$post_type = get_post_type();
|
2605 |
-
if ( !empty( $aioseop_options["{$prefix}{$post_type}_title_format"] ) )
|
2606 |
-
$title_format = $aioseop_options["{$prefix}{$post_type}_title_format"];
|
|
|
2607 |
}
|
2608 |
}
|
2609 |
}
|
@@ -2628,7 +2684,7 @@ EOF;
|
|
2628 |
} else {
|
2629 |
$post = $p;
|
2630 |
}
|
2631 |
-
$title_format = $this->get_post_title_format();
|
2632 |
if ( !empty( $post ) )
|
2633 |
$authordata = get_userdata( $post->post_author );
|
2634 |
else
|
@@ -2639,14 +2695,15 @@ EOF;
|
|
2639 |
return $title;
|
2640 |
}
|
2641 |
|
2642 |
-
function apply_page_title_format( $title, $p = null ) {
|
2643 |
global $aioseop_options;
|
2644 |
if ( $p === null ) {
|
2645 |
global $post;
|
2646 |
} else {
|
2647 |
$post = $p;
|
2648 |
}
|
2649 |
-
$title_format
|
|
|
2650 |
if ( !empty( $post ) )
|
2651 |
$authordata = get_userdata( $post->post_author );
|
2652 |
else
|
@@ -2669,7 +2726,22 @@ EOF;
|
|
2669 |
global $s, $STagging;
|
2670 |
$opts = $this->meta_opts;
|
2671 |
if ( is_front_page() ) {
|
2672 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2673 |
if (empty( $title ) )
|
2674 |
$title = $this->internationalize( get_option( 'blogname' ) ) . ' | ' . $this->internationalize( get_bloginfo( 'description' ) );
|
2675 |
return $this->paged_title( $title );
|
@@ -2684,6 +2756,8 @@ EOF;
|
|
2684 |
} else if ( is_page() || $this->is_static_posts_page() || ( is_home() && !$this->is_static_posts_page() ) ) {
|
2685 |
if ( $post === null ) return false;
|
2686 |
if ( ( $this->is_static_front_page() ) && ( $home_title = $this->internationalize( $aioseop_options['aiosp_home_title'] ) ) ) {
|
|
|
|
|
2687 |
//home title filter
|
2688 |
return apply_filters( 'aioseop_home_page_title', $home_title );
|
2689 |
} else {
|
@@ -2722,11 +2796,10 @@ EOF;
|
|
2722 |
} else if ( is_single() ) {
|
2723 |
// we're not in the loop :(
|
2724 |
if ( $post === null ) return false;
|
2725 |
-
$categories =
|
2726 |
$category = '';
|
2727 |
-
if ( count( $categories ) > 0 )
|
2728 |
-
$category = $categories[0]
|
2729 |
-
}
|
2730 |
$title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
|
2731 |
if ( !$title ) {
|
2732 |
$title = $this->internationalize( get_post_meta( $post->ID, "title_tag", true ) );
|
@@ -2933,16 +3006,17 @@ EOF;
|
|
2933 |
|
2934 |
function get_all_categories( $id = 0 ) {
|
2935 |
$keywords = Array();
|
2936 |
-
$categories = get_the_category( $id );
|
2937 |
-
|
2938 |
-
|
|
|
2939 |
return $keywords;
|
2940 |
}
|
2941 |
|
2942 |
function get_all_tags( $id = 0 ) {
|
2943 |
$keywords = Array();
|
2944 |
$tags = get_the_tags( $id );
|
2945 |
-
if ( $tags && is_array( $tags) )
|
2946 |
foreach ( $tags as $tag )
|
2947 |
$keywords[] = $this->internationalize( $tag->name );
|
2948 |
// Ultimate Tag Warrior integration
|
@@ -2974,7 +3048,7 @@ EOF;
|
|
2974 |
$keywords = array();
|
2975 |
$opts = $this->meta_opts;
|
2976 |
if ( !empty( $opts["aiosp_keywords"] ) ) {
|
2977 |
-
$traverse = $this->keyword_string_to_list( $opts["aiosp_keywords"] );
|
2978 |
if ( !empty( $traverse ) )
|
2979 |
foreach ( $traverse as $keyword ) $keywords[] = $keyword;
|
2980 |
}
|
75 |
"no_paged_canonical_links"=> __( "Checking this option will set the Canonical URL for all paginated content to the first page.", 'all_in_one_seo_pack'),
|
76 |
"customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", 'all_in_one_seo_pack'),
|
77 |
"can_set_protocol" => __( "Set protocol for canonical URLs.", 'all_in_one_seo_pack' ),
|
78 |
+
"use_original_title" => __( "Use wp_title to get the title used by the theme; this is disabled by default. If you use this option, set your title formats appropriately, as your theme might try to do its own title SEO as well.", 'all_in_one_seo_pack' ),
|
79 |
"do_log" => __( "Check this and All in One SEO Pack will create a log of important events (all_in_one_seo_pack.log) in its plugin directory which might help debugging. Make sure this directory is writable.", 'all_in_one_seo_pack' ),
|
80 |
"home_title" => __( "As the name implies, this will be the Meta Title of your homepage. This is independent of any other option. If not set, the default Site Title (found in WordPress under Settings, General, Site Title) will be used.", 'all_in_one_seo_pack' ),
|
81 |
"home_description" => __( "This will be the Meta Description for your homepage. This is independent of any other option. The default is no Meta Description at all if this is not set.", 'all_in_one_seo_pack' ),
|
82 |
"home_keywords" => __( "Enter a comma separated list of your most important keywords for your site that will be written as Meta Keywords on your homepage. Don\'t stuff everything in here.", 'all_in_one_seo_pack' ),
|
83 |
+
"use_static_home_info" => __( "Checking this option uses the title, description, and keywords set on your static Front Page.", 'all_in_one_seo_pack' ),
|
84 |
"togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", 'all_in_one_seo_pack' ),
|
85 |
"use_categories" => __( "Check this if you want your categories for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all_in_one_seo_pack' ),
|
86 |
"use_tags_as_keywords" => __( "Check this if you want your tags for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all_in_one_seo_pack' ),
|
87 |
+
"dynamic_postspage_keywords"=> __( "Check this if you want your keywords on your Posts page (set in WordPress under Settings, Reading, Front Page Displays) and your archive pages to be dynamically generated from the keywords of the posts showing on that page. If unchecked, it will use the keywords set in the edit page screen for the posts page.", 'all_in_one_seo_pack'),
|
88 |
"rewrite_titles" => __( "Note that this is all about the title tag. This is what you see in your browser's window title bar. This is NOT visible on a page, only in the title bar and in the source code. If enabled, all page, post, category, search and archive page titles get rewritten. You can specify the format for most of them. For example: Using the default post title format below, Rewrite Titles will write all post titles as 'Post Title | Blog Name'. If you have manually defined a title using All in One SEO Pack, this will become the title of your post in the format string.", 'all_in_one_seo_pack' ),
|
89 |
"cap_titles" => __( "Check this and Search Page Titles and Tag Page Titles will have the first letter of each word capitalized.", 'all_in_one_seo_pack' ),
|
90 |
"cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", 'all_in_one_seo_pack'),
|
91 |
+
"home_page_title_format" =>
|
92 |
+
__( "This controls the format of the title tag for your Home Page.<br />The following macros are supported:", 'all_in_one_seo_pack' )
|
93 |
+
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
|
94 |
+
__( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
|
95 |
+
__( '%page_title% - The original title of the page', 'all_in_one_seo_pack' ) . '</li><li>' .
|
96 |
+
__( "%page_author_login% - This page's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
|
97 |
+
__( "%page_author_nicename% - This page's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
|
98 |
+
__( "%page_author_firstname% - This page's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
|
99 |
+
__( "%page_author_lastname% - This page's author' last name (capitalized)", 'all_in_one_seo_pack' ) . '</li>' .
|
100 |
+
'</ul>',
|
101 |
"page_title_format" =>
|
102 |
__( "This controls the format of the title tag for Pages.<br />The following macros are supported:", 'all_in_one_seo_pack' )
|
103 |
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
|
104 |
__( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
|
105 |
__( '%page_title% - The original title of the page', 'all_in_one_seo_pack' ) . '</li><li>' .
|
|
|
|
|
106 |
__( "%page_author_login% - This page's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
|
107 |
__( "%page_author_nicename% - This page's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
|
108 |
__( "%page_author_firstname% - This page's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
|
318 |
"home_title"=> Array(
|
319 |
'name' => __( 'Home Title:', 'all_in_one_seo_pack' ),
|
320 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
321 |
+
'count' => true, 'rows' => 1, 'cols' => 60,
|
322 |
+
'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
|
323 |
"home_description"=> Array(
|
324 |
'name' => __( 'Home Description:', 'all_in_one_seo_pack' ),
|
325 |
'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
|
326 |
+
'count' => true, 'cols' => 80, 'rows' => 2,
|
327 |
+
'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
|
328 |
"togglekeywords" => Array(
|
329 |
'name' => __( 'Use Keywords:', 'all_in_one_seo_pack' ),
|
330 |
'default' => 0,
|
335 |
"home_keywords"=> Array(
|
336 |
'name' => __( 'Home Keywords (comma separated):', 'all_in_one_seo_pack' ),
|
337 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
338 |
+
'condshow' => Array( "aiosp_togglekeywords" => 0, "aiosp_use_static_home_info" => 0 ) ),
|
339 |
+
"use_static_home_info" => Array(
|
340 |
+
'name' => __( "Use Static Front Page Instead", 'all_in_one_seo_pack' ),
|
341 |
+
'default' => 0,
|
342 |
+
'type' => 'radio',
|
343 |
+
'initial_options' => Array( 1 => __( 'Enabled', 'all_in_one_seo_pack' ),
|
344 |
+
0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
|
345 |
+
),
|
346 |
"can"=> Array(
|
347 |
'name' => __( 'Canonical URLs:', 'all_in_one_seo_pack' ),
|
348 |
'default' => 1),
|
389 |
'name' => __( 'Capitalize Titles:', 'all_in_one_seo_pack' ), 'default' => 1),
|
390 |
"cap_cats"=> Array(
|
391 |
'name' => __( 'Capitalize Category Titles:', 'all_in_one_seo_pack' ), 'default' => 1),
|
392 |
+
"home_page_title_format"=> Array(
|
393 |
+
'name' => __( 'Home Page Title Format:', 'all_in_one_seo_pack' ),
|
394 |
+
'type' => 'text', 'default' => '%page_title%',
|
395 |
+
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
396 |
"page_title_format"=> Array(
|
397 |
'name' => __( 'Page Title Format:', 'all_in_one_seo_pack' ),
|
398 |
'type' => 'text', 'default' => '%page_title% | %blog_title%',
|
444 |
'initial_options' => Array( 'on' => __( 'Enabled', 'all_in_one_seo_pack' ),
|
445 |
0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
|
446 |
),
|
447 |
+
"cpostactive" => Array(
|
448 |
+
'name' => __( 'SEO on only these post types:', 'all_in_one_seo_pack' ),
|
449 |
+
'type' => 'multicheckbox', 'default' => array('post', 'page'),
|
450 |
+
'condshow' => Array( 'aiosp_enablecpost' => 'on' )
|
451 |
+
),
|
452 |
"cpostadvanced" => Array(
|
453 |
'name' => __( 'Enable Advanced Options:', 'all_in_one_seo_pack' ),
|
454 |
'default' => 0, 'type' => 'radio',
|
457 |
'label' => null,
|
458 |
'condshow' => Array( "aiosp_enablecpost" => 'on' )
|
459 |
),
|
|
|
|
|
|
|
|
|
|
|
460 |
"cpostnoindex" => Array(
|
461 |
'name' => __( 'Default to NOINDEX:', 'all_in_one_seo_pack' ),
|
462 |
'type' => 'multicheckbox', 'default' => array(),
|
592 |
'default' => 1,
|
593 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
594 |
"dynamic_postspage_keywords"=> Array(
|
595 |
+
'name' => __( 'Dynamically Generate Keywords for Posts Page/Archives:', 'all_in_one_seo_pack' ),
|
596 |
'default' => 1,
|
597 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
598 |
"category_noindex"=> Array(
|
683 |
<script>
|
684 |
jQuery(document).ready(function() {
|
685 |
jQuery("#aiosp_title_wrapper").bind("input", function() {
|
686 |
+
jQuery("#aiosp_snippet_title").text(jQuery("#aiosp_title_wrapper input").val().replace(/<(?:.|\n)*?>/gm, ""));
|
687 |
});
|
688 |
jQuery("#aiosp_description_wrapper").bind("input", function() {
|
689 |
jQuery("#aioseop_snippet_description").text(jQuery("#aiosp_description_wrapper textarea").val().replace(/<(?:.|\n)*?>/gm, ""));
|
693 |
<div class="preview_snippet"><div id="aioseop_snippet"><h3><a>%s</a></h3><div><div><cite id="aioseop_snippet_link">%s</cite></div><span id="aioseop_snippet_description">%s</span></div></div></div>' ),
|
694 |
'title' => Array( 'name' => __( 'Title', 'all_in_one_seo_pack' ), 'type' => 'text', 'count' => true, 'size' => 60 ),
|
695 |
'description' => Array( 'name' => __( 'Description', 'all_in_one_seo_pack' ), 'type' => 'textarea', 'count' => true, 'cols' => 80, 'rows' => 2 ),
|
696 |
+
|
697 |
'keywords' => Array( 'name' => __( 'Keywords (comma separated)', 'all_in_one_seo_pack' ), 'type' => 'text' ),
|
698 |
'custom_link' => Array( 'name' => __( 'Custom Canonical URL', 'all_in_one_seo_pack' ), 'type' => 'text', 'size' => 60 ),
|
699 |
'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", 'all_in_one_seo_pack' ), 'default' => '' ),
|
721 |
'home' => Array(
|
722 |
'name' => __( 'Home Page Settings', 'all_in_one_seo_pack' ),
|
723 |
'help_link' => 'http://semperplugins.com/documentation/home-page-settings/',
|
724 |
+
'options' => Array( 'home_title', 'home_description', 'home_keywords', 'use_static_home_info' )
|
725 |
),
|
726 |
'keywords' => Array(
|
727 |
'name' => __( 'Keyword Settings', 'all_in_one_seo_pack' ),
|
731 |
'title' => Array(
|
732 |
'name' => __( 'Title Settings', 'all_in_one_seo_pack' ),
|
733 |
'help_link' => 'http://semperplugins.com/documentation/title-settings/',
|
734 |
+
'options' => Array( "rewrite_titles", "force_rewrites", "cap_titles", "cap_cats", "home_page_title_format", "page_title_format", "post_title_format", "category_title_format", "archive_title_format", "date_title_format", "author_title_format",
|
735 |
"tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
|
736 |
),
|
737 |
'cpt' => Array(
|
787 |
if ( !empty( $info ) )
|
788 |
return $info;
|
789 |
global $post, $aioseop_options, $wp_query;
|
790 |
+
$title = $url = $description = $term = $category = '';
|
791 |
$p = $post; $w = $wp_query;
|
792 |
if ( !is_object( $post ) ) $post = $this->get_queried_object();
|
793 |
if ( empty( $this->meta_opts ) )
|
798 |
if ( is_object( $post ) ) {
|
799 |
$opts = $this->meta_opts;
|
800 |
$post_id = $p->ID;
|
801 |
+
if ( empty( $post->post_modified_gmt ) )
|
802 |
$wp_query = new WP_Query( array( 'p' => $post_id, 'post_type' => $post->post_type ) );
|
803 |
if ( $post->post_type == 'page' )
|
804 |
$wp_query->is_page = true;
|
827 |
if ( is_page() )
|
828 |
$title_format = $aioseop_options['aiosp_page_title_format'];
|
829 |
elseif ( is_single() || is_attachment() )
|
830 |
+
$title_format = $this->get_post_title_format( 'post', $post );
|
831 |
}
|
832 |
if ( empty( $title_format ) ) {
|
833 |
$title_format = '%post_title%';
|
834 |
}
|
835 |
+
$categories = $this->get_all_categories( $post_id );
|
836 |
+
$category = '';
|
837 |
+
if ( count( $categories ) > 0 )
|
838 |
+
$category = $categories[0];
|
839 |
} else if ( is_object( $term ) ) {
|
840 |
if ( $_GET['taxonomy'] == 'category' ) {
|
841 |
query_posts( Array( 'cat' => $_GET['tag_ID'] ) );
|
872 |
$keywords = $this->apply_cf_fields( $keywords );
|
873 |
$keywords = apply_filters( 'aioseop_keywords', $keywords );
|
874 |
|
875 |
+
$info = Array( 'title' => $title, 'description' => $description, 'keywords' => $keywords, 'url' => $url,
|
876 |
+
'title_format' => $title_format, 'category' => $category, 'w' => $wp_query, 'p' => $post );
|
877 |
wp_reset_postdata();
|
878 |
$wp_query = $w; $post = $p;
|
|
|
879 |
return $info;
|
880 |
}
|
881 |
|
893 |
if ( $this->strlen( $description ) > 156 ) $description = $this->trim_excerpt_without_filters( $description, 156 ) . '...';
|
894 |
$extra_title_len = 0;
|
895 |
if ( empty( $title_format ) ) {
|
896 |
+
$title = '<span id="' . $args['name'] . '_title">' . esc_attr( wp_strip_all_tags( html_entity_decode( $title ) ) ) . '</span>';
|
897 |
} else {
|
898 |
if ( strpos( $title_format, '%blog_title%' ) !== false ) $title_format = str_replace( '%blog_title%', get_bloginfo( 'name' ), $title_format );
|
899 |
$title_format = $this->apply_cf_fields( $title_format );
|
900 |
+
$replace_title = '<span id="' . $args['name'] . '_title">' . esc_attr( wp_strip_all_tags( html_entity_decode( $title ) ) ) . '</span>';
|
901 |
if ( strpos( $title_format, '%post_title%' ) !== false ) $title_format = str_replace( '%post_title%', $replace_title, $title_format );
|
902 |
if ( strpos( $title_format, '%page_title%' ) !== false ) $title_format = str_replace( '%page_title%', $replace_title, $title_format );
|
903 |
+
if ( $w->is_category || $w->is_tag || $w->is_tax ) {
|
904 |
+
if ( strpos( $title_format, '%category_title%' ) !== false ) $title_format = str_replace( '%category_title%', $replace_title, $title_format );
|
905 |
+
if ( strpos( $title_format, '%taxonomy_title%' ) !== false ) $title_format = str_replace( '%taxonomy_title%', $replace_title, $title_format );
|
906 |
+
} else {
|
907 |
+
if ( strpos( $title_format, '%category%' ) !== false ) $title_format = str_replace( '%category%', $category, $title_format );
|
908 |
+
if ( strpos( $title_format, '%category_title%' ) !== false ) $title_format = str_replace( '%category_title%', $category, $title_format );
|
909 |
+
if ( strpos( $title_format, '%taxonomy_title%' ) !== false ) $title_format = str_replace( '%taxonomy_title%', $category, $title_format );
|
910 |
+
}
|
911 |
if ( strpos( $title_format, '%taxonomy_description%' ) !== false ) $title_format = str_replace( '%taxonomy_description%', $description, $title_format );
|
912 |
|
913 |
$title_format = preg_replace( '/%([^%]*?)%/', '', $title_format );
|
1068 |
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
|
1069 |
__( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
|
1070 |
__( '%post_title% - The original title of the post', 'all_in_one_seo_pack' ) . '</li><li>' .
|
|
|
|
|
1071 |
__( "%post_author_login% - This post's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
|
1072 |
__( "%post_author_nicename% - This post's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
|
1073 |
__( "%post_author_firstname% - This post's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
|
1355 |
if ( empty( $aioseop_options['aiosp_enablecpost'] ) ) {
|
1356 |
$wp_post_types = get_post_types( Array( '_builtin' => true ) ); // don't display meta if SEO isn't enabled on custom post types -- pdb
|
1357 |
if( is_singular() && !in_array( $post_type, $wp_post_types ) && !is_front_page() ) return false;
|
1358 |
+
} else {
|
1359 |
$wp_post_types = $aioseop_options['aiosp_cpostactive'];
|
1360 |
if ( is_singular() && !in_array( $post_type, $wp_post_types ) && !is_front_page() ) return false;
|
1361 |
if ( is_post_type_archive() && !is_post_type_archive( $wp_post_types ) ) return false;
|
1443 |
function is_static_front_page() {
|
1444 |
if ( isset( $this->is_front_page ) && $this->is_front_page !== null ) return $this->is_front_page;
|
1445 |
$post = $this->get_queried_object();
|
1446 |
+
$this->is_front_page = ( get_option( 'show_on_front' ) == 'page' && is_page() && !empty( $post ) && $post->ID == get_option( 'page_on_front' ) );
|
1447 |
return $this->is_front_page;
|
1448 |
}
|
1449 |
|
1451 |
static $is_posts_page = null;
|
1452 |
if ( $is_posts_page !== null ) return $is_posts_page;
|
1453 |
$post = $this->get_queried_object();
|
1454 |
+
$is_posts_page = ( get_option( 'show_on_front' ) == 'page' && is_home() && !empty( $post ) && $post->ID == get_option( 'page_for_posts' ) );
|
1455 |
return $is_posts_page;
|
1456 |
}
|
1457 |
|
1644 |
if ( is_author() && $this->show_page_description() ) {
|
1645 |
$description = $this->internationalize( get_the_author_meta( 'description' ) );
|
1646 |
} else if ( is_front_page() ) {
|
1647 |
+
$description = $this->get_aioseop_description( $post );
|
1648 |
} else if ( function_exists( 'woocommerce_get_page_id' ) && is_post_type_archive( 'product' ) && ( $post_id = woocommerce_get_page_id( 'shop' ) ) && ( $post = get_post( $post_id ) ) ) {
|
1649 |
$description = $this->get_post_description( $post );
|
1650 |
$description = $this->apply_cf_fields( $description );
|
1700 |
global $post;
|
1701 |
$opts = $this->meta_opts;
|
1702 |
if ( ( ( is_front_page() && $aioseop_options['aiosp_home_keywords'] && !$this->is_static_posts_page() ) || $this->is_static_front_page() ) ) {
|
1703 |
+
if ( !empty( $aioseop_options['aiosp_use_static_home_info'] ) ) {
|
1704 |
+
$keywords = $this->get_all_keywords();
|
1705 |
+
} else {
|
1706 |
+
$keywords = trim( $this->internationalize( $aioseop_options['aiosp_home_keywords'] ) );
|
1707 |
+
}
|
1708 |
+
} elseif ( empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) && $this->is_static_posts_page() ) {
|
1709 |
+
$keywords = stripslashes( $this->internationalize( $opts["aiosp_keywords"] ) ); // and if option = use page set keywords instead of keywords from recent posts
|
1710 |
} elseif ( ( $blog_page = $this->get_blog_page( $post ) ) && empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) ) {
|
1711 |
+
$keywords = stripslashes( $this->internationalize( get_post_meta( $blog_page->ID, "_aioseop_keywords", true ) ) );
|
1712 |
+
} elseif ( empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) && ( is_archive() || is_post_type_archive() ) ) {
|
1713 |
+
$keywords = "";
|
1714 |
} else {
|
1715 |
$keywords = $this->get_all_keywords();
|
1716 |
}
|
2315 |
default:
|
2316 |
return false;
|
2317 |
}
|
2318 |
+
} elseif ( ( $query->is_home && (get_option( 'show_on_front' ) == 'page' ) && ( $pageid = get_option( 'page_for_posts' ) ) ) ) {
|
2319 |
+
$link = get_permalink( $pageid );
|
2320 |
+
} elseif ( is_front_page() || ( $query->is_home && ( get_option( 'show_on_front' ) != 'page' || !get_option( 'page_for_posts' ) ) ) ) {
|
2321 |
+
if ( function_exists( 'icl_get_home_url' ) ) {
|
2322 |
+
$link = icl_get_home_url();
|
2323 |
+
} else {
|
2324 |
+
$link = trailingslashit( home_url() );
|
2325 |
+
}
|
2326 |
} elseif ( ( $query->is_single || $query->is_page ) && $haspost ) {
|
2327 |
$post = $query->posts[0];
|
2328 |
$link = get_permalink( $post->ID );
|
2345 |
get_query_var( 'monthnum' ) );
|
2346 |
} elseif ( $query->is_year && $haspost ) {
|
2347 |
$link = get_year_link( get_query_var( 'year' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2348 |
} elseif ( $query->is_tax && $haspost ) {
|
2349 |
$taxonomy = get_query_var( 'taxonomy' );
|
2350 |
$term = get_query_var( 'term' );
|
2394 |
}
|
2395 |
return $link;
|
2396 |
}
|
2397 |
+
|
2398 |
+
function is_singular( $post_types = Array(), $post = null ) {
|
2399 |
+
if ( !empty( $post_types ) && is_object( $post ) )
|
2400 |
+
return in_array( $post->post_type, (array)$post_types );
|
2401 |
+
else
|
2402 |
+
return is_singular( $post_types );
|
2403 |
+
}
|
2404 |
+
|
2405 |
function show_page_description() {
|
2406 |
global $aioseop_options;
|
2407 |
if ( !empty( $aioseop_options['aiosp_hide_paginated_descriptions'] ) ) {
|
2414 |
|
2415 |
function get_post_description( $post ) {
|
2416 |
global $aioseop_options;
|
2417 |
+
$description = '';
|
2418 |
if ( !$this->show_page_description() )
|
2419 |
return '';
|
2420 |
|
2421 |
$description = trim( stripslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
|
2422 |
+
if ( !empty( $post ) && post_password_required( $post ) ) {
|
2423 |
+
return $description;
|
2424 |
+
}
|
2425 |
if ( !$description ) {
|
2426 |
if ( empty( $aioseop_options["aiosp_skip_excerpt"] ) )
|
2427 |
$description = $this->trim_excerpt_without_filters_full_length( $this->internationalize( $post->post_excerpt ) );
|
2459 |
if ( $post === null )
|
2460 |
$post = $GLOBALS["post"];
|
2461 |
$blog_page = $this->get_blog_page();
|
2462 |
+
$description = '';
|
2463 |
+
if ( $this->is_static_front_page() && empty( $aioseop_options['aiosp_use_static_home_info'] ) )
|
2464 |
$description = trim( stripslashes( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
|
2465 |
elseif ( !empty( $blog_page ) )
|
2466 |
$description = $this->get_post_description( $blog_page );
|
2492 |
if ( function_exists( 'polyglot_filter' ) )
|
2493 |
$in = polyglot_filter( $in );
|
2494 |
|
2495 |
+
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
2496 |
$in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
|
2497 |
+
} elseif ( function_exists( 'ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
2498 |
+
$in = ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
|
2499 |
+
} elseif ( function_exists( 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
2500 |
+
$in = qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
|
2501 |
+
}
|
2502 |
|
2503 |
return apply_filters( 'localization', $in );
|
2504 |
}
|
2505 |
|
2506 |
/** @return The original title as delivered by WP (well, in most cases) */
|
2507 |
+
function get_original_title( $sep = '|', $echo = false, $seplocation = '' ) {
|
2508 |
global $aioseop_options;
|
2509 |
if ( !empty( $aioseop_options['aiosp_use_original_title'] ) ) {
|
2510 |
$has_filter = has_filter( 'wp_title', Array( $this, 'wp_title' ) );
|
2511 |
if ( $has_filter !== false )
|
2512 |
remove_filter( 'wp_title', Array( $this, 'wp_title' ), $has_filter );
|
2513 |
+
if ( current_theme_supports( 'title-tag' ) ) {
|
2514 |
+
$sep = '|';
|
2515 |
+
$echo = false;
|
2516 |
+
$seplocation = 'right';
|
2517 |
+
}
|
2518 |
$title = wp_title( $sep, $echo, $seplocation );
|
2519 |
if ( $has_filter !== false )
|
2520 |
add_filter( 'wp_title', Array( $this, 'wp_title' ), $has_filter );
|
2616 |
if ( strpos( $title, '%category_description%' ) !== false ) $title = str_replace( '%category_description%', $category_description, $title );
|
2617 |
if ( strpos( $title, '%blog_title%' ) !== false ) $title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name' ) ), $title );
|
2618 |
if ( strpos( $title, '%blog_description%' ) !== false ) $title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $title );
|
2619 |
+
$title = wp_strip_all_tags( $title );
|
|
|
2620 |
return $this->paged_title( $title );
|
2621 |
}
|
2622 |
|
2645 |
return $this->apply_tax_title_format( $name, $desc, $tax );
|
2646 |
}
|
2647 |
|
2648 |
+
function get_post_title_format( $title_type = 'post', $p = null ) {
|
2649 |
global $aioseop_options;
|
2650 |
if ( ( $title_type != 'post' ) && ( $title_type != 'archive' ) ) return false;
|
2651 |
$title_format = "%{$title_type}_title% | %blog_title%";
|
2652 |
if ( isset( $aioseop_options["aiosp_{$title_type}_title_format"] ) )
|
2653 |
$title_format = $aioseop_options["aiosp_{$title_type}_title_format"];
|
2654 |
+
if( !empty( $aioseop_options['aiosp_enablecpost'] ) && !empty( $aioseop_options['aiosp_cpostactive'] ) ) {
|
2655 |
$wp_post_types = $aioseop_options['aiosp_cpostactive'];
|
2656 |
if ( !empty( $aioseop_options["aiosp_cposttitles"] ) ) {
|
2657 |
if ( ( ( $title_type == 'archive' ) && is_post_type_archive( $wp_post_types ) && $prefix = "aiosp_{$title_type}_" ) ||
|
2658 |
+
( ( $title_type == 'post' ) && $this->is_singular( $wp_post_types, $p ) && $prefix = "aiosp_" ) ) {
|
2659 |
+
$post_type = get_post_type( $p );
|
2660 |
+
if ( !empty( $aioseop_options["{$prefix}{$post_type}_title_format"] ) ) {
|
2661 |
+
$title_format = $aioseop_options["{$prefix}{$post_type}_title_format"];
|
2662 |
+
}
|
2663 |
}
|
2664 |
}
|
2665 |
}
|
2684 |
} else {
|
2685 |
$post = $p;
|
2686 |
}
|
2687 |
+
$title_format = $this->get_post_title_format( 'post', $p );
|
2688 |
if ( !empty( $post ) )
|
2689 |
$authordata = get_userdata( $post->post_author );
|
2690 |
else
|
2695 |
return $title;
|
2696 |
}
|
2697 |
|
2698 |
+
function apply_page_title_format( $title, $p = null, $title_format = '' ) {
|
2699 |
global $aioseop_options;
|
2700 |
if ( $p === null ) {
|
2701 |
global $post;
|
2702 |
} else {
|
2703 |
$post = $p;
|
2704 |
}
|
2705 |
+
if ( empty( $title_format ) )
|
2706 |
+
$title_format = $aioseop_options['aiosp_page_title_format'];
|
2707 |
if ( !empty( $post ) )
|
2708 |
$authordata = get_userdata( $post->post_author );
|
2709 |
else
|
2726 |
global $s, $STagging;
|
2727 |
$opts = $this->meta_opts;
|
2728 |
if ( is_front_page() ) {
|
2729 |
+
if ( !empty( $aioseop_options['aiosp_use_static_home_info'] ) ) {
|
2730 |
+
global $post;
|
2731 |
+
if ( get_option( 'show_on_front' ) == 'page' && is_page() && $post->ID == get_option( 'page_on_front' ) ) {
|
2732 |
+
$title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
|
2733 |
+
if ( !$title ) $title = $this->internationalize( $post->post_title );
|
2734 |
+
if ( !$title ) $title = $this->internationalize( $this->get_original_title( '', false ) );
|
2735 |
+
if ( !empty( $aioseop_options['aiosp_home_page_title_format'] ) )
|
2736 |
+
$title = $this->apply_page_title_format( $title, $post, $aioseop_options['aiosp_home_page_title_format'] );
|
2737 |
+
$title = $this->paged_title( $title );
|
2738 |
+
$title = apply_filters( 'aioseop_home_page_title', $title );
|
2739 |
+
}
|
2740 |
+
} else {
|
2741 |
+
$title = $this->internationalize( $aioseop_options['aiosp_home_title'] );
|
2742 |
+
if ( !empty( $aioseop_options['aiosp_home_page_title_format'] ) )
|
2743 |
+
$title = $this->apply_page_title_format( $title, null, $aioseop_options['aiosp_home_page_title_format'] );
|
2744 |
+
}
|
2745 |
if (empty( $title ) )
|
2746 |
$title = $this->internationalize( get_option( 'blogname' ) ) . ' | ' . $this->internationalize( get_bloginfo( 'description' ) );
|
2747 |
return $this->paged_title( $title );
|
2756 |
} else if ( is_page() || $this->is_static_posts_page() || ( is_home() && !$this->is_static_posts_page() ) ) {
|
2757 |
if ( $post === null ) return false;
|
2758 |
if ( ( $this->is_static_front_page() ) && ( $home_title = $this->internationalize( $aioseop_options['aiosp_home_title'] ) ) ) {
|
2759 |
+
if ( !empty( $aioseop_options['aiosp_home_page_title_format'] ) )
|
2760 |
+
$home_title = $this->apply_page_title_format( $home_title, $post, $aioseop_options['aiosp_home_page_title_format'] );
|
2761 |
//home title filter
|
2762 |
return apply_filters( 'aioseop_home_page_title', $home_title );
|
2763 |
} else {
|
2796 |
} else if ( is_single() ) {
|
2797 |
// we're not in the loop :(
|
2798 |
if ( $post === null ) return false;
|
2799 |
+
$categories = $this->get_all_categories();
|
2800 |
$category = '';
|
2801 |
+
if ( count( $categories ) > 0 )
|
2802 |
+
$category = $categories[0];
|
|
|
2803 |
$title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
|
2804 |
if ( !$title ) {
|
2805 |
$title = $this->internationalize( get_post_meta( $post->ID, "title_tag", true ) );
|
3006 |
|
3007 |
function get_all_categories( $id = 0 ) {
|
3008 |
$keywords = Array();
|
3009 |
+
$categories = get_the_category( $id );
|
3010 |
+
if ( !empty( $categories ) )
|
3011 |
+
foreach ( $categories as $category )
|
3012 |
+
$keywords[] = $this->internationalize( $category->cat_name );
|
3013 |
return $keywords;
|
3014 |
}
|
3015 |
|
3016 |
function get_all_tags( $id = 0 ) {
|
3017 |
$keywords = Array();
|
3018 |
$tags = get_the_tags( $id );
|
3019 |
+
if ( !empty( $tags ) && is_array( $tags) )
|
3020 |
foreach ( $tags as $tag )
|
3021 |
$keywords[] = $this->internationalize( $tag->name );
|
3022 |
// Ultimate Tag Warrior integration
|
3048 |
$keywords = array();
|
3049 |
$opts = $this->meta_opts;
|
3050 |
if ( !empty( $opts["aiosp_keywords"] ) ) {
|
3051 |
+
$traverse = $this->keyword_string_to_list( $this->internationalize( $opts["aiosp_keywords"] ) );
|
3052 |
if ( !empty( $traverse ) )
|
3053 |
foreach ( $traverse as $keyword ) $keywords[] = $keyword;
|
3054 |
}
|
aioseop_functions.php
CHANGED
@@ -155,9 +155,13 @@ if ( !function_exists( 'aioseop_admin_head' ) ) {
|
|
155 |
echo '<script type="text/javascript" src="' . AIOSEOP_PLUGIN_URL . 'quickedit_functions.js" ></script>';
|
156 |
?><style>
|
157 |
.aioseop_edit_button {
|
158 |
-
|
159 |
-
|
160 |
-
|
|
|
|
|
|
|
|
|
161 |
}
|
162 |
.aioseop_mpc_SEO_admin_options_edit img {
|
163 |
margin: 3px 2px;
|
@@ -167,12 +171,24 @@ if ( !function_exists( 'aioseop_admin_head' ) ) {
|
|
167 |
float: left;
|
168 |
display: block;
|
169 |
opacity: 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
}
|
171 |
.aioseop_mpc_admin_meta_content {
|
172 |
float:left;
|
173 |
width: 100%;
|
174 |
margin: 0 0 10px 0;
|
175 |
-
}
|
|
|
|
|
|
|
|
|
|
|
176 |
</style>
|
177 |
<?php wp_print_scripts( Array( 'sack' ) );
|
178 |
?><script type="text/javascript">
|
@@ -209,10 +225,11 @@ if ( !function_exists( 'aioseop_handle_ignore_notice' ) ) {
|
|
209 |
|
210 |
if ( !function_exists( 'aioseop_output_notice' ) ) {
|
211 |
function aioseop_output_notice( $message, $id = '', $class = "updated fade" ) {
|
|
|
212 |
if ( !empty( $class ) ) $class = ' class="' . esc_attr( $class ) . '"';
|
213 |
if ( !empty( $id ) ) $class .= ' id="' . esc_attr( $id ) . '"';
|
214 |
$dismiss = ' ';
|
215 |
-
echo "<div{$class}>" . wp_kses_post( $message ) . "
|
216 |
return true;
|
217 |
}
|
218 |
}
|
@@ -230,12 +247,11 @@ if ( !function_exists( 'aioseop_output_dismissable_notice' ) ) {
|
|
230 |
wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
|
231 |
$qa['aioseop_ignore_notice'] = $msgid;
|
232 |
$url = '?' . build_query( $qa );
|
233 |
-
$message
|
234 |
}
|
235 |
return aioseop_output_notice( $message, $id, $class );
|
236 |
}
|
237 |
}
|
238 |
-
|
239 |
if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
|
240 |
function aioseop_ajax_save_meta() {
|
241 |
if ( !empty( $_POST['_inline_edit'] ) && ( $_POST['_inline_edit'] != 'undefined' ) )
|
@@ -252,15 +268,14 @@ if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
|
|
252 |
die();
|
253 |
}
|
254 |
if( $result != '' ):
|
255 |
-
$label = "<label id='aioseop_label_{$target}_{$post_id}'>" . $result . '</label>';
|
256 |
else:
|
257 |
-
$label = '';
|
258 |
-
$label = "<label id='aioseop_label_{$target}_{$post_id}'></label><strong><i>" . __( 'No', 'all_in_one_seo_pack' ) . ' ' . $target . '</i></strong>';
|
259 |
endif;
|
260 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
|
261 |
-
$output =
|
262 |
-
|
263 |
-
|
264 |
die( "jQuery('div#aioseop_" . $target . "_" . $post_id . "').fadeOut('fast', function() { var my_label = " . json_encode( $output ) . ";
|
265 |
jQuery('div#aioseop_" . $target . "_" . $post_id . "').html(my_label).fadeIn('fast');
|
266 |
});" );
|
@@ -515,16 +530,16 @@ if ( !function_exists( 'aioseop_mrt_pccolumn' ) ) {
|
|
515 |
style="float:left;">
|
516 |
<?php $content = strip_tags( stripslashes( get_post_meta( $id, "_aioseop_" . $target, TRUE ) ) );
|
517 |
if( !empty($content) ):
|
518 |
-
$label = "<label id='aioseop_label_{$target}_{$id}'>" . $content . '</label>';
|
519 |
else:
|
520 |
-
$label = "<label id='aioseop_label_{$target}_{$id}'></label><strong><i>No " . $target . '</i></strong>';
|
521 |
endif;
|
522 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
|
523 |
-
|
524 |
-
$id . ', "' . $target . '", "' . $nonce . '");return false;\' title="' . __('Edit') . '">'
|
525 |
-
|
526 |
id='aioseop_edit_id'
|
527 |
-
src='" . AIOSEOP_PLUGIN_IMAGES_URL . "cog_edit.png' /></a>";
|
528 |
?>
|
529 |
</div>
|
530 |
</div>
|
155 |
echo '<script type="text/javascript" src="' . AIOSEOP_PLUGIN_URL . 'quickedit_functions.js" ></script>';
|
156 |
?><style>
|
157 |
.aioseop_edit_button {
|
158 |
+
margin: 0 0 0 5px;
|
159 |
+
opacity: 0.6;
|
160 |
+
width: 12px;
|
161 |
+
}
|
162 |
+
.aioseop_edit_link {
|
163 |
+
display: inline-block;
|
164 |
+
position: absolute;
|
165 |
}
|
166 |
.aioseop_mpc_SEO_admin_options_edit img {
|
167 |
margin: 3px 2px;
|
171 |
float: left;
|
172 |
display: block;
|
173 |
opacity: 1;
|
174 |
+
max-height: 75px;
|
175 |
+
overflow: hidden;
|
176 |
+
width: 100%;
|
177 |
+
}
|
178 |
+
.aioseop_mpc_admin_meta_options.editing {
|
179 |
+
max-height: initial;
|
180 |
+
overflow: visible;
|
181 |
}
|
182 |
.aioseop_mpc_admin_meta_content {
|
183 |
float:left;
|
184 |
width: 100%;
|
185 |
margin: 0 0 10px 0;
|
186 |
+
}
|
187 |
+
td.seotitle.column-seotitle,
|
188 |
+
td.seodesc.column-seodesc,
|
189 |
+
td.seokeywords.column-seokeywords {
|
190 |
+
overflow: visible;
|
191 |
+
}
|
192 |
</style>
|
193 |
<?php wp_print_scripts( Array( 'sack' ) );
|
194 |
?><script type="text/javascript">
|
225 |
|
226 |
if ( !function_exists( 'aioseop_output_notice' ) ) {
|
227 |
function aioseop_output_notice( $message, $id = '', $class = "updated fade" ) {
|
228 |
+
$class = 'aioseop_notice ' . $class;
|
229 |
if ( !empty( $class ) ) $class = ' class="' . esc_attr( $class ) . '"';
|
230 |
if ( !empty( $id ) ) $class .= ' id="' . esc_attr( $id ) . '"';
|
231 |
$dismiss = ' ';
|
232 |
+
echo "<div{$class}>" . wp_kses_post( $message ) . "<br class=clear /></div>";
|
233 |
return true;
|
234 |
}
|
235 |
}
|
247 |
wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
|
248 |
$qa['aioseop_ignore_notice'] = $msgid;
|
249 |
$url = '?' . build_query( $qa );
|
250 |
+
$message = '<p class=alignleft>' . $message . '</p><p class="alignright"><a class="aioseop_dismiss_link" href="' . $url . '">Dismiss</a></p>';
|
251 |
}
|
252 |
return aioseop_output_notice( $message, $id, $class );
|
253 |
}
|
254 |
}
|
|
|
255 |
if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
|
256 |
function aioseop_ajax_save_meta() {
|
257 |
if ( !empty( $_POST['_inline_edit'] ) && ( $_POST['_inline_edit'] != 'undefined' ) )
|
268 |
die();
|
269 |
}
|
270 |
if( $result != '' ):
|
271 |
+
$label = "<label id='aioseop_label_{$target}_{$post_id}'><span style='width: 20px;display: inline-block;'></span>" . $result . '</label>';
|
272 |
else:
|
273 |
+
$label = "<label id='aioseop_label_{$target}_{$post_id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all_in_one_seo_pack' ) . ' ' . $target . '</i></strong>';
|
|
|
274 |
endif;
|
275 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
|
276 |
+
$output = '<a id="' . $target . 'editlink' . $post_id . '" class="aioseop_edit_link" href="javascript:void(0);"'
|
277 |
+
. 'onclick=\'aioseop_ajax_edit_meta_form(' . $post_id . ', "' . $target . '", "' . $nonce . '");return false;\' title="' . __('Edit') . '">'
|
278 |
+
. '<img class="aioseop_edit_button" id="aioseop_edit_id" src="' . AIOSEOP_PLUGIN_IMAGES_URL . '/cog_edit.png" /></a> ' . $label;
|
279 |
die( "jQuery('div#aioseop_" . $target . "_" . $post_id . "').fadeOut('fast', function() { var my_label = " . json_encode( $output ) . ";
|
280 |
jQuery('div#aioseop_" . $target . "_" . $post_id . "').html(my_label).fadeIn('fast');
|
281 |
});" );
|
530 |
style="float:left;">
|
531 |
<?php $content = strip_tags( stripslashes( get_post_meta( $id, "_aioseop_" . $target, TRUE ) ) );
|
532 |
if( !empty($content) ):
|
533 |
+
$label = "<label id='aioseop_label_{$target}_{$id}'><span style='width: 20px;display: inline-block;'></span>" . $content . '</label>';
|
534 |
else:
|
535 |
+
$label = "<label id='aioseop_label_{$target}_{$id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all_in_one_seo_pack' ) . " " . $target . '</i></strong>';
|
536 |
endif;
|
537 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
|
538 |
+
echo '<a id="' . $target . 'editlink' . $id . '" class="aioseop_edit_link" href="javascript:void(0);" onclick=\'aioseop_ajax_edit_meta_form(' .
|
539 |
+
$id . ', "' . $target . '", "' . $nonce . '");return false;\' title="' . __('Edit') . '">'
|
540 |
+
. "<img class='aioseop_edit_button'
|
541 |
id='aioseop_edit_id'
|
542 |
+
src='" . AIOSEOP_PLUGIN_IMAGES_URL . "cog_edit.png' /></a> " . $label;
|
543 |
?>
|
544 |
</div>
|
545 |
</div>
|
aioseop_module.css
CHANGED
@@ -840,6 +840,14 @@ table.aioseop_table td, table.aioseop_table th {
|
|
840 |
.aioseop_option_docs h3 {
|
841 |
background:none;
|
842 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
843 |
.aioseop_error_notice {
|
844 |
color: #f00;
|
845 |
font-weight: bold;
|
840 |
.aioseop_option_docs h3 {
|
841 |
background:none;
|
842 |
}
|
843 |
+
div.aioseop_notice {
|
844 |
+
position: relative;
|
845 |
+
}
|
846 |
+
div.aioseop_notice a.aioseop_dismiss_link {
|
847 |
+
position: absolute;
|
848 |
+
top: 10px;
|
849 |
+
right: 10px;
|
850 |
+
}
|
851 |
.aioseop_error_notice {
|
852 |
color: #f00;
|
853 |
font-weight: bold;
|
aioseop_module_class.php
CHANGED
@@ -128,7 +128,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
128 |
function convert_case( $str, $mode = 'upper' ) {
|
129 |
static $charset = null;
|
130 |
if ( $charset == null ) $charset = get_bloginfo( 'charset' );
|
131 |
-
|
132 |
if ( $mode == 'title' ) {
|
133 |
if ( function_exists( 'mb_convert_case' ) )
|
134 |
return mb_convert_case( $str, MB_CASE_TITLE, $charset );
|
128 |
function convert_case( $str, $mode = 'upper' ) {
|
129 |
static $charset = null;
|
130 |
if ( $charset == null ) $charset = get_bloginfo( 'charset' );
|
131 |
+
$str = (string)$str;
|
132 |
if ( $mode == 'title' ) {
|
133 |
if ( function_exists( 'mb_convert_case' ) )
|
134 |
return mb_convert_case( $str, MB_CASE_TITLE, $charset );
|
aioseop_opengraph.php
CHANGED
@@ -78,6 +78,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
78 |
$this->help_text = Array(
|
79 |
"setmeta" => __( "Checking this box will use the Home Title and Home Description set in All in One SEO Pack, General Settings as the Open Graph title and description for your home page.", 'all_in_one_seo_pack' ),
|
80 |
"key" => __( "Your Profile Admin ID is your Facebook profile ID. You can find out your Facebook ID using the lookup tool here: https://graph.facebook.com/yourusername", 'all_in_one_seo_pack' ),
|
|
|
|
|
81 |
"sitename" => __( "The Site Name is the name that is used to identify your website.", 'all_in_one_seo_pack' ),
|
82 |
"hometitle" => __( "The Home Title is the Open Graph title for your home page.", 'all_in_one_seo_pack' ),
|
83 |
"description" => __( "The Home Description is the Open Graph description for your home page.", 'all_in_one_seo_pack' ),
|
@@ -144,6 +146,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
144 |
'scan_header'=> Array( 'name' => __( 'Scan Header', 'all_in_one_seo_pack' ), 'type' => 'custom', 'save' => true ),
|
145 |
'setmeta' => Array( 'name' => __( 'Use AIOSEO Title and Description', 'all_in_one_seo_pack'), 'type' => 'checkbox' ),
|
146 |
'key' => Array( 'name' => __( 'Profile Admins ID', 'all_in_one_seo_pack'), 'default' => '', 'type' => 'text' ),
|
|
|
|
|
147 |
'sitename' => Array( 'name' => __( 'Site Name', 'all_in_one_seo_pack' ), 'default' => get_bloginfo('name'), 'type' => 'text' ),
|
148 |
'hometitle' => Array( 'name' => __( 'Home Title', 'all_in_one_seo_pack'),
|
149 |
'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
|
@@ -215,7 +219,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
215 |
|
216 |
$this->locations = array(
|
217 |
'opengraph' => Array( 'name' => $this->name, 'prefix' => 'aiosp_', 'type' => 'settings',
|
218 |
-
'options' => Array('scan_header', 'setmeta', 'key', 'sitename', 'hometitle', 'description', 'homeimage', 'hometag', 'generate_descriptions', 'defimg',
|
219 |
'fallback', 'dimg', 'meta_key', 'categories', 'defcard', 'twitter_site', 'twitter_creator', 'twitter_domain', 'gen_tags', 'gen_keywords', 'gen_categories',
|
220 |
'gen_post_tags', 'types', 'facebook_publisher', 'facebook_author' ) ),
|
221 |
'settings' => Array( 'name' => __('Social Settings', 'all_in_one_seo_pack'),
|
@@ -462,16 +466,16 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
462 |
|
463 |
/* If Use AIOSEO Title and Desc Selected */
|
464 |
if( $setmeta ) {
|
465 |
-
$title = $
|
466 |
if ( $first_page )
|
467 |
-
$description = $
|
468 |
}
|
469 |
|
470 |
/* Add some defaults */
|
471 |
if( empty($title) ) $title = get_bloginfo('name');
|
472 |
if( empty($sitename) ) $sitename = get_bloginfo('name');
|
473 |
|
474 |
-
if ( empty( $description ) && $first_page && ( !empty( $this->options['aiosp_opengraph_generate_descriptions'] ) ) && !empty( $post ) && !empty( $post->post_content ) )
|
475 |
$description = $aiosp->trim_excerpt_without_filters( $aiosp->internationalize( preg_replace( '/\s+/', ' ', $post->post_content ) ), 1000 );
|
476 |
|
477 |
if ( empty($description) && $first_page ) $description = get_bloginfo('description');
|
@@ -523,7 +527,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
523 |
|
524 |
/* Add some defaults */
|
525 |
if ( empty( $title ) ) $title = get_the_title();
|
526 |
-
if ( empty( $description ) && ( $this->options['aiosp_opengraph_generate_descriptions'] ) )
|
527 |
$description = $post->post_content;
|
528 |
if ( empty( $type ) ) $type = 'article';
|
529 |
} else return;
|
@@ -549,9 +553,19 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
549 |
if ( !empty( $tag ) )
|
550 |
$tag = $aiosp->clean_keyword_list( $tag );
|
551 |
}
|
552 |
-
if ( !empty( $description ) )
|
553 |
-
$description = $aiosp->trim_excerpt_without_filters( $aiosp->internationalize( preg_replace( '/\s+/', ' ', $description ) ), 1000 );
|
554 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555 |
$title = $this->apply_cf_fields( $title );
|
556 |
$description = $this->apply_cf_fields( $description );
|
557 |
|
78 |
$this->help_text = Array(
|
79 |
"setmeta" => __( "Checking this box will use the Home Title and Home Description set in All in One SEO Pack, General Settings as the Open Graph title and description for your home page.", 'all_in_one_seo_pack' ),
|
80 |
"key" => __( "Your Profile Admin ID is your Facebook profile ID. You can find out your Facebook ID using the lookup tool here: https://graph.facebook.com/yourusername", 'all_in_one_seo_pack' ),
|
81 |
+
"title_shortcodes" => __( "Run shortcodes that appear in social title meta tags.", 'all_in_one_seo_pack' ),
|
82 |
+
"description_shortcodes"=> __( "Run shortcodes that appear in social description meta tags.", 'all_in_one_seo_pack' ),
|
83 |
"sitename" => __( "The Site Name is the name that is used to identify your website.", 'all_in_one_seo_pack' ),
|
84 |
"hometitle" => __( "The Home Title is the Open Graph title for your home page.", 'all_in_one_seo_pack' ),
|
85 |
"description" => __( "The Home Description is the Open Graph description for your home page.", 'all_in_one_seo_pack' ),
|
146 |
'scan_header'=> Array( 'name' => __( 'Scan Header', 'all_in_one_seo_pack' ), 'type' => 'custom', 'save' => true ),
|
147 |
'setmeta' => Array( 'name' => __( 'Use AIOSEO Title and Description', 'all_in_one_seo_pack'), 'type' => 'checkbox' ),
|
148 |
'key' => Array( 'name' => __( 'Profile Admins ID', 'all_in_one_seo_pack'), 'default' => '', 'type' => 'text' ),
|
149 |
+
'title_shortcodes' => Array('name' => __( 'Run Shortcodes In Title', 'all_in_one_seo_pack' ) ),
|
150 |
+
'description_shortcodes' => Array('name' => __( 'Run Shortcodes In Description', 'all_in_one_seo_pack' ) ),
|
151 |
'sitename' => Array( 'name' => __( 'Site Name', 'all_in_one_seo_pack' ), 'default' => get_bloginfo('name'), 'type' => 'text' ),
|
152 |
'hometitle' => Array( 'name' => __( 'Home Title', 'all_in_one_seo_pack'),
|
153 |
'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
|
219 |
|
220 |
$this->locations = array(
|
221 |
'opengraph' => Array( 'name' => $this->name, 'prefix' => 'aiosp_', 'type' => 'settings',
|
222 |
+
'options' => Array('scan_header', 'setmeta', 'key', 'sitename', 'title_shortcodes', 'description_shortcodes', 'hometitle', 'description', 'homeimage', 'hometag', 'generate_descriptions', 'defimg',
|
223 |
'fallback', 'dimg', 'meta_key', 'categories', 'defcard', 'twitter_site', 'twitter_creator', 'twitter_domain', 'gen_tags', 'gen_keywords', 'gen_categories',
|
224 |
'gen_post_tags', 'types', 'facebook_publisher', 'facebook_author' ) ),
|
225 |
'settings' => Array( 'name' => __('Social Settings', 'all_in_one_seo_pack'),
|
466 |
|
467 |
/* If Use AIOSEO Title and Desc Selected */
|
468 |
if( $setmeta ) {
|
469 |
+
$title = $aiosp->get_aioseop_title( $post );
|
470 |
if ( $first_page )
|
471 |
+
$description = $aiosp->get_aioseop_description( $post );
|
472 |
}
|
473 |
|
474 |
/* Add some defaults */
|
475 |
if( empty($title) ) $title = get_bloginfo('name');
|
476 |
if( empty($sitename) ) $sitename = get_bloginfo('name');
|
477 |
|
478 |
+
if ( empty( $description ) && $first_page && ( !empty( $this->options['aiosp_opengraph_generate_descriptions'] ) ) && !empty( $post ) && !empty( $post->post_content ) && !post_password_required( $post ) )
|
479 |
$description = $aiosp->trim_excerpt_without_filters( $aiosp->internationalize( preg_replace( '/\s+/', ' ', $post->post_content ) ), 1000 );
|
480 |
|
481 |
if ( empty($description) && $first_page ) $description = get_bloginfo('description');
|
527 |
|
528 |
/* Add some defaults */
|
529 |
if ( empty( $title ) ) $title = get_the_title();
|
530 |
+
if ( empty( $description ) && ( $this->options['aiosp_opengraph_generate_descriptions'] ) && !post_password_required( $post ) )
|
531 |
$description = $post->post_content;
|
532 |
if ( empty( $type ) ) $type = 'article';
|
533 |
} else return;
|
553 |
if ( !empty( $tag ) )
|
554 |
$tag = $aiosp->clean_keyword_list( $tag );
|
555 |
}
|
|
|
|
|
556 |
|
557 |
+
if ( !empty( $this->options['aiosp_opengraph_title_shortcodes'] ) ) {
|
558 |
+
$title = do_shortcode( $title );
|
559 |
+
}
|
560 |
+
|
561 |
+
if ( !empty( $description ) ) {
|
562 |
+
$description = $aiosp->internationalize( preg_replace( '/\s+/', ' ', $description ) );
|
563 |
+
if ( !empty( $this->options['aiosp_opengraph_description_shortcodes'] ) ) {
|
564 |
+
$description = do_shortcode( $description );
|
565 |
+
}
|
566 |
+
$description = $aiosp->trim_excerpt_without_filters( $description, 1000 );
|
567 |
+
}
|
568 |
+
|
569 |
$title = $this->apply_cf_fields( $title );
|
570 |
$description = $this->apply_cf_fields( $description );
|
571 |
|
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/all-in-one-seo-pack-pro-version/?loc=plugins" target="_blank">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.2.
|
7 |
Author: Michael Torbert
|
8 |
Author URI: http://michaeltorbert.com
|
9 |
*/
|
@@ -30,16 +30,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
30 |
|
31 |
/**
|
32 |
* @package All-in-One-SEO-Pack
|
33 |
-
* @version 2.2.
|
34 |
*/
|
35 |
|
|
|
|
|
36 |
global $aioseop_plugin_name;
|
37 |
$aioseop_plugin_name = 'All in One SEO Pack';
|
38 |
if ( ! defined( 'AIOSEOP_PLUGIN_NAME' ) )
|
39 |
define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
|
40 |
|
41 |
if ( ! defined( 'AIOSEOP_VERSION' ) )
|
42 |
-
define( 'AIOSEOP_VERSION', '2.2.
|
43 |
|
44 |
if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
|
45 |
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/all-in-one-seo-pack-pro-version/?loc=plugins" target="_blank">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.2.6
|
7 |
Author: Michael Torbert
|
8 |
Author URI: http://michaeltorbert.com
|
9 |
*/
|
30 |
|
31 |
/**
|
32 |
* @package All-in-One-SEO-Pack
|
33 |
+
* @version 2.2.6
|
34 |
*/
|
35 |
|
36 |
+
if ( ! defined( 'ABSPATH' ) ) return;
|
37 |
+
|
38 |
global $aioseop_plugin_name;
|
39 |
$aioseop_plugin_name = 'All in One SEO Pack';
|
40 |
if ( ! defined( 'AIOSEOP_PLUGIN_NAME' ) )
|
41 |
define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
|
42 |
|
43 |
if ( ! defined( 'AIOSEOP_VERSION' ) )
|
44 |
+
define( 'AIOSEOP_VERSION', '2.2.6' );
|
45 |
|
46 |
if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
|
47 |
define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
quickedit_functions.js
CHANGED
@@ -2,7 +2,7 @@ function aioseop_ajax_edit_meta_form( post_id, meta, nonce ) {
|
|
2 |
var uform = jQuery('#aioseop_'+meta+'_' + post_id);
|
3 |
var post_title = jQuery('#aioseop_label_' + meta + '_' + post_id).text();
|
4 |
var element = uform.html(); var input;
|
5 |
-
input = '<textarea id="aioseop_new_'+meta+'_' + post_id + '" style="font-size:
|
6 |
input += '<label style="float:left">';
|
7 |
input += '<a class="aioseop_mpc_SEO_admin_options_edit" href="javascript:void(0);" id="aioseop_'+meta+'_save_' + post_id + '" >';
|
8 |
input += '<img src="' + aioseopadmin.imgUrl+'accept.png" border="0" alt="" title="'+meta+'" /></a>';
|
@@ -10,8 +10,10 @@ function aioseop_ajax_edit_meta_form( post_id, meta, nonce ) {
|
|
10 |
input += '<img src="' + aioseopadmin.imgUrl+'delete.png" border="0" alt="" title="'+meta+'" /></a>';
|
11 |
input += '</label>';
|
12 |
uform.html( input );
|
|
|
13 |
jQuery('#aioseop_'+meta+'_cancel_' + post_id).click(function() {
|
14 |
uform.html( element );
|
|
|
15 |
});
|
16 |
jQuery('#aioseop_'+meta+'_save_' + post_id).click(function() {
|
17 |
var new_meta = jQuery( '#aioseop_new_'+meta+'_' + post_id ).val();
|
@@ -39,5 +41,7 @@ function handle_post_meta( p, t, m, n ) {
|
|
39 |
aioseop_sack.runAJAX();
|
40 |
})
|
41 |
jQuery("div#aioseop_"+m+"_"+p).html(loading);
|
|
|
|
|
42 |
})
|
43 |
};
|
2 |
var uform = jQuery('#aioseop_'+meta+'_' + post_id);
|
3 |
var post_title = jQuery('#aioseop_label_' + meta + '_' + post_id).text();
|
4 |
var element = uform.html(); var input;
|
5 |
+
input = '<textarea id="aioseop_new_'+meta+'_' + post_id + '" style="font-size:13px;width:100%;float:left;position:relative;z-index:1;" rows=4 cols=32>' + post_title + '</textarea>';
|
6 |
input += '<label style="float:left">';
|
7 |
input += '<a class="aioseop_mpc_SEO_admin_options_edit" href="javascript:void(0);" id="aioseop_'+meta+'_save_' + post_id + '" >';
|
8 |
input += '<img src="' + aioseopadmin.imgUrl+'accept.png" border="0" alt="" title="'+meta+'" /></a>';
|
10 |
input += '<img src="' + aioseopadmin.imgUrl+'delete.png" border="0" alt="" title="'+meta+'" /></a>';
|
11 |
input += '</label>';
|
12 |
uform.html( input );
|
13 |
+
uform.attr( "class", "aioseop_mpc_admin_meta_options editing" );
|
14 |
jQuery('#aioseop_'+meta+'_cancel_' + post_id).click(function() {
|
15 |
uform.html( element );
|
16 |
+
uform.attr( "class", "aioseop_mpc_admin_meta_options" );
|
17 |
});
|
18 |
jQuery('#aioseop_'+meta+'_save_' + post_id).click(function() {
|
19 |
var new_meta = jQuery( '#aioseop_new_'+meta+'_' + post_id ).val();
|
41 |
aioseop_sack.runAJAX();
|
42 |
})
|
43 |
jQuery("div#aioseop_"+m+"_"+p).html(loading);
|
44 |
+
jQuery("div#aioseop_"+m+"_"+p).attr( "class", "aioseop_mpc_admin_meta_options" );
|
45 |
+
|
46 |
})
|
47 |
};
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: hallsofmontezuma
|
|
3 |
Donate link: 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
|
4 |
Tags: all in one, all in one seo, all in one seo pack, seo, search engine optimization, google
|
5 |
Requires at least: 3.3
|
6 |
-
Tested up to: 4.1
|
7 |
Stable tag: trunk
|
8 |
|
9 |
All in One SEO Pack is a WordPress SEO plugin to automatically optimize your WordPress blog for Search Engines such as Google.
|
3 |
Donate link: 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
|
4 |
Tags: all in one, all in one seo, all in one seo pack, seo, search engine optimization, google
|
5 |
Requires at least: 3.3
|
6 |
+
Tested up to: 4.1.1
|
7 |
Stable tag: trunk
|
8 |
|
9 |
All in One SEO Pack is a WordPress SEO plugin to automatically optimize your WordPress blog for Search Engines such as Google.
|