Version Description
Download this release
Release Info
Developer | hallsofmontezuma |
Plugin | All in One SEO Pack |
Version | 2.2.7.4 |
Comparing to | |
See all releases |
Code changes from version 2.2.7.3 to 2.2.7.4
- aioseop_bad_robots.php +23 -23
- aioseop_class.php +385 -368
- aioseop_feature_manager.php +19 -19
- aioseop_file_editor.php +9 -9
- aioseop_functions.php +19 -19
- aioseop_importer_exporter.php +15 -15
- aioseop_module.css +21 -1
- aioseop_module_class.php +19 -19
- aioseop_opengraph.php +173 -156
- aioseop_options.php +0 -0
- aioseop_performance.php +61 -61
- aioseop_robots.php +27 -27
- aioseop_sitemap.php +109 -109
- all-in-one-seo-pack-ar.mo +0 -0
- all_in_one_seo_pack-bg_BG.mo → all-in-one-seo-pack-bg_BG.mo +0 -0
- all_in_one_seo_pack-bg_NO.mo → all-in-one-seo-pack-bg_NO.mo +0 -0
- all_in_one_seo_pack-cs_CZ.mo → all-in-one-seo-pack-cs_CZ.mo +0 -0
- all_in_one_seo_pack-da_DK.mo → all-in-one-seo-pack-da_DK.mo +0 -0
- all_in_one_seo_pack-de_DE.mo → all-in-one-seo-pack-de_DE.mo +0 -0
- all_in_one_seo_pack-es_ES.mo → all-in-one-seo-pack-es_ES.mo +0 -0
- all_in_one_seo_pack-fa_IR.mo → all-in-one-seo-pack-fa_IR.mo +0 -0
- all_in_one_seo_pack-fr_FR.mo → all-in-one-seo-pack-fr_FR.mo +0 -0
- all_in_one_seo_pack-he_IL.mo → all-in-one-seo-pack-he_IL.mo +0 -0
- all-in-one-seo-pack-hi_IN.mo +0 -0
- all_in_one_seo_pack-hu_HU.mo → all-in-one-seo-pack-hu_HU.mo +0 -0
- all_in_one_seo_pack-it_IT.mo → all-in-one-seo-pack-it_IT.mo +0 -0
- all_in_one_seo_pack-ja.mo → all-in-one-seo-pack-ja.mo +0 -0
- all_in_one_seo_pack-ko_KR.mo → all-in-one-seo-pack-ko_KR.mo +0 -0
- all_in_one_seo_pack-nl_NL.mo → all-in-one-seo-pack-nl_NL.mo +0 -0
- all_in_one_seo_pack-pl_PL.mo → all-in-one-seo-pack-pl_PL.mo +0 -0
- all_in_one_seo_pack-pt_BR.mo → all-in-one-seo-pack-pt_BR.mo +0 -0
- all_in_one_seo_pack-ro_RO.mo → all-in-one-seo-pack-ro_RO.mo +0 -0
- all_in_one_seo_pack-ru_RU.mo → all-in-one-seo-pack-ru_RU.mo +0 -0
- all_in_one_seo_pack-sk_SK.mo → all-in-one-seo-pack-sk_SK.mo +0 -0
- all_in_one_seo_pack-tr_TR.mo → all-in-one-seo-pack-tr_TR.mo +0 -0
- all_in_one_seo_pack-uk.mo → all-in-one-seo-pack-uk.mo +0 -0
- all_in_one_seo_pack-zh_CN.mo → all-in-one-seo-pack-zh_CN.mo +0 -0
- all_in_one_seo_pack-zh_TW.mo → all-in-one-seo-pack-zh_TW.mo +0 -0
- all_in_one_seo_pack.pot → all-in-one-seo-pack.pot +0 -0
- all_in_one_seo_pack.php +5 -5
- images/banner21.jpg +0 -0
- images/banner22.jpg +0 -0
- readme.txt +12 -4
aioseop_bad_robots.php
CHANGED
@@ -8,31 +8,31 @@
|
|
8 |
if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
|
9 |
class All_in_One_SEO_Pack_Bad_Robots extends All_in_One_SEO_Pack_Module {
|
10 |
function __construct( ) {
|
11 |
-
$this->name = __('Bad Bot Blocker', '
|
12 |
$this->prefix = 'aiosp_bad_robots_'; // option prefix
|
13 |
$this->file = __FILE__; // the current file
|
14 |
parent::__construct();
|
15 |
|
16 |
$help_text = Array(
|
17 |
-
'block_bots' => __( 'Block requests from user agents that are known to misbehave.', '
|
18 |
-
'block_refer' => __( 'Block referral spam.', '
|
19 |
-
'track_blocks'=> __( 'Log and show recent requests from blocked bots.', '
|
20 |
-
'htaccess_rules'=>__( 'Block bad robots via Apaache .htaccess rules. Warning: this will change your web server configuration, make sure you are able to edit this file manually as well.', '
|
21 |
-
'edit_blocks' => __( 'Check this to edit the list of disallowed user agents for blocking bad bots.', '
|
22 |
-
'blocklist' => __( 'This is the list of disallowed user agents used for blocking bad bots.', '
|
23 |
-
'referlist' => __( 'This is the list of disallowed referers used for blocking bad bots.', '
|
24 |
-
'blocked_log' => __( 'Shows log of most recent requests from blocked bots. Note: this will not track any bots that were already blocked at the web server / .htaccess level.', '
|
25 |
);
|
26 |
|
27 |
$this->default_options = array(
|
28 |
-
'block_bots' => Array( 'name' => __( 'Block Bad Bots', '
|
29 |
-
'block_refer' => Array( 'name' => __( 'Block Referral Spam', '
|
30 |
-
'track_blocks' => Array( 'name' => __( 'Track Blocked Bots', '
|
31 |
-
'htaccess_rules' => Array( 'name' => __( 'Add rules to .htaccess', '
|
32 |
-
'edit_blocks' => Array( 'name' => __( 'Edit Blocklists', '
|
33 |
-
'blocklist' => Array( 'name' => __( 'User Agent Blocklist', '
|
34 |
-
'referlist' => Array( 'name' => __( 'Referer Blocklist', '
|
35 |
-
'blocked_log' => Array( 'name' => __( 'Log Of Blocked Bots', '
|
36 |
);
|
37 |
$is_apache = false;
|
38 |
if ( ( !empty($_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'Apache' ) !== false ) ) {
|
@@ -64,13 +64,13 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
|
|
64 |
status_header( 503 );
|
65 |
$ip = $_SERVER['REMOTE_ADDR'];
|
66 |
$user_agent = $_SERVER['HTTP_USER_AGENT'];
|
67 |
-
$this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched user agent %s found in blocklist.", '
|
68 |
exit();
|
69 |
} elseif ( $this->option_isset( 'block_refer' ) && $this->is_bad_referer() ) {
|
70 |
status_header( 503 );
|
71 |
$ip = $_SERVER['REMOTE_ADDR'];
|
72 |
$referer = $_SERVER['HTTP_REFERER'];
|
73 |
-
$this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched referer %s found in blocklist.", '
|
74 |
}
|
75 |
}
|
76 |
}
|
@@ -81,7 +81,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
|
|
81 |
$modules = apache_get_modules();
|
82 |
foreach( Array( 'mod_authz_host', 'mod_setenvif' ) as $m ) {
|
83 |
if ( !in_array( $m, $modules ) ) {
|
84 |
-
aioseop_output_notice( sprintf( __( "Apache module %s is required!", '
|
85 |
}
|
86 |
}
|
87 |
}
|
@@ -101,12 +101,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
|
|
101 |
}
|
102 |
$htaccess[] = 'Deny from env=bad_bot';
|
103 |
if ( insert_with_markers( get_home_path() . '.htaccess', $this->name, $htaccess ) ) {
|
104 |
-
aioseop_output_notice( __( "Updated .htaccess rules.", '
|
105 |
} else {
|
106 |
-
aioseop_output_notice( __( "Failed to update .htaccess rules!", '
|
107 |
}
|
108 |
} else {
|
109 |
-
aioseop_output_notice( __( "No rules to update!", '
|
110 |
}
|
111 |
}
|
112 |
|
8 |
if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
|
9 |
class All_in_One_SEO_Pack_Bad_Robots extends All_in_One_SEO_Pack_Module {
|
10 |
function __construct( ) {
|
11 |
+
$this->name = __('Bad Bot Blocker', 'all-in-one-seo-pack'); // Human-readable name of the plugin
|
12 |
$this->prefix = 'aiosp_bad_robots_'; // option prefix
|
13 |
$this->file = __FILE__; // the current file
|
14 |
parent::__construct();
|
15 |
|
16 |
$help_text = Array(
|
17 |
+
'block_bots' => __( 'Block requests from user agents that are known to misbehave.', 'all-in-one-seo-pack' ),
|
18 |
+
'block_refer' => __( 'Block referral spam.', 'all-in-one-seo-pack' ),
|
19 |
+
'track_blocks'=> __( 'Log and show recent requests from blocked bots.', 'all-in-one-seo-pack' ),
|
20 |
+
'htaccess_rules'=>__( 'Block bad robots via Apaache .htaccess rules. Warning: this will change your web server configuration, make sure you are able to edit this file manually as well.', 'all-in-one-seo-pack' ),
|
21 |
+
'edit_blocks' => __( 'Check this to edit the list of disallowed user agents for blocking bad bots.', 'all-in-one-seo-pack' ),
|
22 |
+
'blocklist' => __( 'This is the list of disallowed user agents used for blocking bad bots.', 'all-in-one-seo-pack' ),
|
23 |
+
'referlist' => __( 'This is the list of disallowed referers used for blocking bad bots.', 'all-in-one-seo-pack' ),
|
24 |
+
'blocked_log' => __( 'Shows log of most recent requests from blocked bots. Note: this will not track any bots that were already blocked at the web server / .htaccess level.', 'all-in-one-seo-pack' ),
|
25 |
);
|
26 |
|
27 |
$this->default_options = array(
|
28 |
+
'block_bots' => Array( 'name' => __( 'Block Bad Bots', 'all-in-one-seo-pack' ) ),
|
29 |
+
'block_refer' => Array( 'name' => __( 'Block Referral Spam', 'all-in-one-seo-pack' ) ),
|
30 |
+
'track_blocks' => Array( 'name' => __( 'Track Blocked Bots', 'all-in-one-seo-pack' ) ),
|
31 |
+
'htaccess_rules' => Array( 'name' => __( 'Add rules to .htaccess', 'all-in-one-seo-pack' ) ),
|
32 |
+
'edit_blocks' => Array( 'name' => __( 'Edit Blocklists', 'all-in-one-seo-pack' ) ),
|
33 |
+
'blocklist' => Array( 'name' => __( 'User Agent Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on' ), 'default' => join( "\n", $this->default_bad_bots() ) ),
|
34 |
+
'referlist' => Array( 'name' => __( 'Referer Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on', "{$this->prefix}block_refer" => 'on', ), 'default' => join( "\n", $this->default_bad_referers() ) ),
|
35 |
+
'blocked_log' => Array( 'name' => __( 'Log Of Blocked Bots', 'all-in-one-seo-pack' ), 'default' => __( 'No requests yet.', 'all-in-one-seo-pack' ), 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'top', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px', 'condshow' => Array( "{$this->prefix}track_blocks" => 'on' ) )
|
36 |
);
|
37 |
$is_apache = false;
|
38 |
if ( ( !empty($_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'Apache' ) !== false ) ) {
|
64 |
status_header( 503 );
|
65 |
$ip = $_SERVER['REMOTE_ADDR'];
|
66 |
$user_agent = $_SERVER['HTTP_USER_AGENT'];
|
67 |
+
$this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched user agent %s found in blocklist.", 'all-in-one-seo-pack' ), $ip, $user_agent ) );
|
68 |
exit();
|
69 |
} elseif ( $this->option_isset( 'block_refer' ) && $this->is_bad_referer() ) {
|
70 |
status_header( 503 );
|
71 |
$ip = $_SERVER['REMOTE_ADDR'];
|
72 |
$referer = $_SERVER['HTTP_REFERER'];
|
73 |
+
$this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched referer %s found in blocklist.", 'all-in-one-seo-pack' ), $ip, $referer ) );
|
74 |
}
|
75 |
}
|
76 |
}
|
81 |
$modules = apache_get_modules();
|
82 |
foreach( Array( 'mod_authz_host', 'mod_setenvif' ) as $m ) {
|
83 |
if ( !in_array( $m, $modules ) ) {
|
84 |
+
aioseop_output_notice( sprintf( __( "Apache module %s is required!", 'all-in-one-seo-pack' ), $m ), "", "error" );
|
85 |
}
|
86 |
}
|
87 |
}
|
101 |
}
|
102 |
$htaccess[] = 'Deny from env=bad_bot';
|
103 |
if ( insert_with_markers( get_home_path() . '.htaccess', $this->name, $htaccess ) ) {
|
104 |
+
aioseop_output_notice( __( "Updated .htaccess rules.", 'all-in-one-seo-pack' ) );
|
105 |
} else {
|
106 |
+
aioseop_output_notice( __( "Failed to update .htaccess rules!", 'all-in-one-seo-pack' ), "", "error" );
|
107 |
}
|
108 |
} else {
|
109 |
+
aioseop_output_notice( __( "No rules to update!", 'all-in-one-seo-pack' ), "", "error" );
|
110 |
}
|
111 |
}
|
112 |
|
aioseop_class.php
CHANGED
@@ -60,8 +60,8 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
60 |
|
61 |
$this->init();
|
62 |
|
63 |
-
$this->name = sprintf( __( '%s Plugin Options', '
|
64 |
-
$this->menu_name = __( 'General Settings', '
|
65 |
|
66 |
$this->prefix = 'aiosp_'; // option prefix
|
67 |
$this->option_name = 'aioseop_options';
|
@@ -71,163 +71,163 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
71 |
parent::__construct();
|
72 |
|
73 |
$this->help_text = Array(
|
74 |
-
"donate" => __( "All donations support continued development of this free software.", '
|
75 |
-
"can" => __( "This option will automatically generate Canonical URLs for your entire WordPress installation. This will help to prevent duplicate content penalties by <a href=\'http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html\' target=\'_blank\'>Google</a>.", '
|
76 |
-
"no_paged_canonical_links"=> __( "Checking this option will set the Canonical URL for all paginated content to the first page.", '
|
77 |
-
"customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", '
|
78 |
-
"can_set_protocol" => __( "Set protocol for canonical URLs.", '
|
79 |
-
"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.", '
|
80 |
-
"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.", '
|
81 |
-
"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.", '
|
82 |
-
"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.", '
|
83 |
-
"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.", '
|
84 |
-
"use_static_home_info" => __( "Checking this option uses the title, description, and keywords set on your static Front Page.", '
|
85 |
-
"togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", '
|
86 |
-
"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).", '
|
87 |
-
"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).", '
|
88 |
-
"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.", '
|
89 |
-
"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.", '
|
90 |
-
"cap_titles" => __( "Check this and Search Page Titles and Tag Page Titles will have the first letter of each word capitalized.", '
|
91 |
-
"cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", '
|
92 |
"home_page_title_format" =>
|
93 |
-
__( "This controls the format of the title tag for your Home Page.<br />The following macros are supported:", '
|
94 |
-
. '<ul><li>' . __( '%blog_title% - Your blog title', '
|
95 |
-
__( '%blog_description% - Your blog description', '
|
96 |
-
__( '%page_title% - The original title of the page', '
|
97 |
-
__( "%page_author_login% - This page's author' login", '
|
98 |
-
__( "%page_author_nicename% - This page's author' nicename", '
|
99 |
-
__( "%page_author_firstname% - This page's author' first name (capitalized)", '
|
100 |
-
__( "%page_author_lastname% - This page's author' last name (capitalized)", '
|
101 |
'</ul>',
|
102 |
"page_title_format" =>
|
103 |
-
__( "This controls the format of the title tag for Pages.<br />The following macros are supported:", '
|
104 |
-
. '<ul><li>' . __( '%blog_title% - Your blog title', '
|
105 |
-
__( '%blog_description% - Your blog description', '
|
106 |
-
__( '%page_title% - The original title of the page', '
|
107 |
-
__( "%page_author_login% - This page's author' login", '
|
108 |
-
__( "%page_author_nicename% - This page's author' nicename", '
|
109 |
-
__( "%page_author_firstname% - This page's author' first name (capitalized)", '
|
110 |
-
__( "%page_author_lastname% - This page's author' last name (capitalized)", '
|
111 |
'</ul>',
|
112 |
"post_title_format" =>
|
113 |
-
__( "This controls the format of the title tag for Posts.<br />The following macros are supported:", '
|
114 |
-
. '<ul><li>' . __( '%blog_title% - Your blog title', '
|
115 |
-
__( '%blog_description% - Your blog description', '
|
116 |
-
__( '%post_title% - The original title of the post', '
|
117 |
-
__( '%category_title% - The (main) category of the post', '
|
118 |
-
__( '%category% - Alias for %category_title%', '
|
119 |
-
__( "%post_author_login% - This post's author' login", '
|
120 |
-
__( "%post_author_nicename% - This post's author' nicename", '
|
121 |
-
__( "%post_author_firstname% - This post's author' first name (capitalized)", '
|
122 |
-
__( "%post_author_lastname% - This post's author' last name (capitalized)", '
|
123 |
'</ul>',
|
124 |
"category_title_format" =>
|
125 |
-
__( "This controls the format of the title tag for Category Archives.<br />The following macros are supported:", '
|
126 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
127 |
-
__( '%blog_description% - Your blog description', '
|
128 |
-
__( '%category_title% - The original title of the category', '
|
129 |
-
__( '%category_description% - The description of the category', '
|
130 |
"archive_title_format" =>
|
131 |
-
__( "This controls the format of the title tag for Custom Post Archives.<br />The following macros are supported:", '
|
132 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
133 |
-
__( '%blog_description% - Your blog description', '
|
134 |
-
__( '%archive_title - The original archive title given by wordpress', '
|
135 |
"date_title_format" =>
|
136 |
-
__( "This controls the format of the title tag for Date Archives.<br />The following macros are supported:", '
|
137 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
138 |
-
__( '%blog_description% - Your blog description', '
|
139 |
-
__( '%date% - The original archive title given by wordpress, e.g. "2007" or "2007 August"', '
|
140 |
-
__( '%day% - The original archive day given by wordpress, e.g. "17"', '
|
141 |
-
__( '%month% - The original archive month given by wordpress, e.g. "August"', '
|
142 |
-
__( '%year% - The original archive year given by wordpress, e.g. "2007"', '
|
143 |
"author_title_format" =>
|
144 |
-
__( "This controls the format of the title tag for Author Archives.<br />The following macros are supported:", '
|
145 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
146 |
-
__( '%blog_description% - Your blog description', '
|
147 |
-
__( '%author% - The original archive title given by wordpress, e.g. "Steve" or "John Smith"', '
|
148 |
"tag_title_format" =>
|
149 |
-
__( "This controls the format of the title tag for Tag Archives.<br />The following macros are supported:", '
|
150 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
151 |
-
__( '%blog_description% - Your blog description', '
|
152 |
-
__( '%tag% - The name of the tag', '
|
153 |
"search_title_format" =>
|
154 |
-
__( "This controls the format of the title tag for the Search page.<br />The following macros are supported:", '
|
155 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
156 |
-
__( '%blog_description% - Your blog description', '
|
157 |
-
__( '%search% - What was searched for', '
|
158 |
-
"description_format" => __( "This controls the format of Meta Descriptions.The following macros are supported:", '
|
159 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
160 |
-
__( '%blog_description% - Your blog description', '
|
161 |
-
__( '%description% - The original description as determined by the plugin, e.g. the excerpt if one is set or an auto-generated one if that option is set', '
|
162 |
-
__( '%post_title% - The original title of the post', '
|
163 |
-
__( '%wp_title% - The original wordpress title, e.g. post_title for posts', '
|
164 |
-
"404_title_format" => __( "This controls the format of the title tag for the 404 page.<br />The following macros are supported:", '
|
165 |
-
'<ul><li>' . __( '%blog_title% - Your blog title', '
|
166 |
-
__( '%blog_description% - Your blog description', '
|
167 |
-
__( '%request_url% - The original URL path, like "/url-that-does-not-exist/"', '
|
168 |
-
__( '%request_words% - The URL path in human readable form, like "Url That Does Not Exist"', '
|
169 |
-
__( '%404_title% - Additional 404 title input"', '
|
170 |
-
"paged_format" => __( "This string gets appended/prepended to titles of paged index pages (like home or archive pages).", '
|
171 |
-
. __( 'The following macros are supported:', '
|
172 |
-
. '<ul><li>' . __( '%page% - The page number', '
|
173 |
-
"enablecpost" => __( "Check this if you want to use All in One SEO Pack with any Custom Post Types on this site.", '
|
174 |
-
"cpostadvanced" => __( "This will show or hide the advanced options for SEO for Custom Post Types.", '
|
175 |
-
"cpostactive" => __( "Use these checkboxes to select which Post Types you want to use All in One SEO Pack with.", '
|
176 |
-
"cposttitles" => __( "This allows you to set the title tags for each Custom Post Type.", '
|
177 |
-
"posttypecolumns" => __( "This lets you select which screens display the SEO Title, SEO Keywords and SEO Description columns.", '
|
178 |
-
"admin_bar" => __( "Check this to add All in One SEO Pack to the Admin Bar for easy access to your SEO settings.", '
|
179 |
-
"custom_menu_order" => __( "Check this to move the All in One SEO Pack menu item to the top of your WordPress Dashboard menu.", '
|
180 |
-
"google_verify" => __( "Enter your verification code here to verify your site with Google Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/google-webmaster-tools-verification/' target='_blank'>Click here for documentation on this setting</a>", '
|
181 |
-
"bing_verify" => __( "Enter your verification code here to verify your site with Bing Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/bing-webmaster-verification/' target='_blank'>Click here for documentation on this setting</a>", '
|
182 |
-
"pinterest_verify" => __( "Enter your verification code here to verify your site with Pinterest.<br /><a href='http://semperplugins.com/documentation/pinterest-site-verification/' target='_blank'>Click here for documentation on this setting</a>", '
|
183 |
-
"google_publisher" => __( "Enter your Google+ Profile URL here to add the rel=“author” tag to your site for Google authorship. It is recommended that the URL you enter here should be your personal Google+ profile. Use the Advanced Authorship Options below if you want greater control over the use of authorship.", '
|
184 |
-
"google_disable_profile"=> __( "Check this to remove the Google Plus field from the user profile screen.", '
|
185 |
-
"google_author_advanced"=> __( "Enable this to display advanced options for controlling Google Plus authorship information on your website.", '
|
186 |
-
"google_author_location"=> __( "This option allows you to control which types of pages you want to display rel=\"author\" on for Google authorship. The options include the Front Page (the homepage of your site), Posts, Pages, and any Custom Post Types. The Everywhere Else option includes 404, search, categories, tags, custom taxonomies, date archives, author archives and any other page template.", '
|
187 |
-
"google_enable_publisher"=> __( "This option allows you to control whether rel=\"publisher\" is displayed on the homepage of your site. Google recommends using this if the site is a business website.", '
|
188 |
-
"google_specify_publisher"=> __( "The Google+ profile you enter here will appear on your homepage only as the rel=\"publisher\" tag. It is recommended that the URL you enter here should be the Google+ profile for your business.", '
|
189 |
-
"google_sitelinks_search"=> __( "Add markup to display the Google Sitelinks Search Box next to your search results in Google.", '
|
190 |
-
"google_set_site_name" => __( "Add markup to tell Google the preferred name for your website.", '
|
191 |
-
"google_connect" => __( "Press the connect button to connect with Google Analytics; or if already connected, press the disconnect button to disable and remove any stored analytics credentials.", '
|
192 |
-
"google_analytics_id" => __( "Enter your Google Analytics ID here to track visitor behavior on your site using Google Analytics.", '
|
193 |
-
"ga_use_universal_analytics" => __( "Use the new Universal Analytics tracking code for Google Analytics.", '
|
194 |
-
"ga_advanced_options" => __( "Check to use advanced Google Analytics options.", '
|
195 |
-
"ga_domain" => __( "Enter your domain name without the http:// to set your cookie domain.", '
|
196 |
-
"ga_multi_domain" => __( "Use this option to enable tracking of multiple or additional domains.", '
|
197 |
-
"ga_addl_domains" => __( "Add a list of additional domains to track here. Enter one domain name per line without the http://.", '
|
198 |
-
"ga_anonymize_ip" => __( "This enables support for IP Anonymization in Google Analytics.", '
|
199 |
-
"ga_display_advertising"=> __( "This enables support for the Display Advertiser Features in Google Analytics.", '
|
200 |
-
"ga_exclude_users" => __( "Exclude logged-in users from Google Analytics tracking by role.", '
|
201 |
-
"ga_track_outbound_links"=> __( "Check this if you want to track outbound links with Google Analytics.", '
|
202 |
-
"ga_link_attribution"=> __( "This enables support for the Enhanced Link Attribution in Google Analytics.", '
|
203 |
-
"ga_enhanced_ecommerce" => __( "This enables support for the Enhanced Ecommerce in Google Analytics.", '
|
204 |
-
"cpostnoindex" => __( "Set the default NOINDEX setting for each Post Type.", '
|
205 |
-
"cpostnofollow" => __( "Set the default NOFOLLOW setting for each Post Type.", '
|
206 |
-
"category_noindex" => __( "Check this to ask search engines not to index Category Archives. Useful for avoiding duplicate content.", '
|
207 |
-
"archive_date_noindex" => __( "Check this to ask search engines not to index Date Archives. Useful for avoiding duplicate content.", '
|
208 |
-
"archive_author_noindex"=> __( "Check this to ask search engines not to index Author Archives. Useful for avoiding duplicate content.", '
|
209 |
-
"tags_noindex" => __( "Check this to ask search engines not to index Tag Archives. Useful for avoiding duplicate content.", '
|
210 |
-
"search_noindex" => __( "Check this to ask search engines not to index the Search page. Useful for avoiding duplicate content.", '
|
211 |
-
"404_noindex" => __( "Check this to ask search engines not to index the 404 page.", '
|
212 |
-
"tax_noindex" => __( "Check this to ask search engines not to index custom Taxonomy archive pages. Useful for avoiding duplicate content.", '
|
213 |
-
"paginated_noindex" => __( "Check this to ask search engines not to index paginated pages/posts. Useful for avoiding duplicate content.", '
|
214 |
-
"paginated_nofollow" => __( "Check this to ask search engines not to follow links from paginated pages/posts. Useful for avoiding duplicate content.", '
|
215 |
-
'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for your entire site.', '
|
216 |
-
'cpostnoodp' => __( "Set the default noodp setting for each Post Type.", '
|
217 |
-
'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for your entire site.', '
|
218 |
-
'cpostnoydir' => __( "Set the default noydir setting for each Post Type.", '
|
219 |
-
"skip_excerpt" => __( "Check this and your Meta Descriptions won't be generated from the excerpt.", '
|
220 |
-
"generate_descriptions" => __( "Check this and your Meta Descriptions will be auto-generated from your excerpt or content.", '
|
221 |
-
"run_shortcodes" => __( "Check this and shortcodes will get executed for descriptions auto-generated from content.", '
|
222 |
-
"hide_paginated_descriptions"=> __( "Check this and your Meta Descriptions will be removed from page 2 or later of paginated content.", '
|
223 |
-
"dont_truncate_descriptions"=> __( "Check this to prevent your Description from being truncated regardless of its length.", '
|
224 |
-
"schema_markup"=> __( "Check this to support Schema.org markup, i.e., itemprop on supported metadata.", '
|
225 |
-
"unprotect_meta" => __( "Check this to unprotect internal postmeta fields for use with XMLRPC. If you don't know what that is, leave it unchecked.", '
|
226 |
-
"ex_pages" => __( "Enter a comma separated list of pages here to be excluded by All in One SEO Pack. This is helpful when using plugins which generate their own non-WordPress dynamic pages. Ex: <em>/forum/, /contact/</em> For instance, if you want to exclude the virtual pages generated by a forum plugin, all you have to do is add forum or /forum or /forum/ or and any URL with the word \"forum\" in it, such as http://mysite.com/forum or http://mysite.com/forum/someforumpage here and it will be excluded from All in One SEO Pack.", '
|
227 |
-
"post_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Posts. You can enter whatever additional headers you want here, even references to stylesheets.", '
|
228 |
-
"page_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Pages. You can enter whatever additional headers you want here, even references to stylesheets.", '
|
229 |
-
"front_meta_tags" => __( "What you enter here will be copied verbatim to the header of the front page if you have set a static page in Settings, Reading, Front Page Displays. You can enter whatever additional headers you want here, even references to stylesheets. This will fall back to using Additional Page Headers if you have them set and nothing is entered here.", '
|
230 |
-
"home_meta_tags" => __( "What you enter here will be copied verbatim to the header of the home page if you have Front page displays your latest posts selected in Settings, Reading. It will also be copied verbatim to the header on the Posts page if you have one set in Settings, Reading. You can enter whatever additional headers you want here, even references to stylesheets.", '
|
231 |
);
|
232 |
|
233 |
$this->help_anchors = Array(
|
@@ -300,387 +300,387 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
300 |
);
|
301 |
|
302 |
$meta_help_text = Array(
|
303 |
-
'snippet' => __( 'A preview of what this page might look like in search engine results.', '
|
304 |
-
'title' => __( 'A custom title that shows up in the title tag for this page.', '
|
305 |
-
'description' => __( 'The META description for this page. This will override any autogenerated descriptions.', '
|
306 |
-
'keywords' => __( 'A comma separated list of your most important keywords for this page that will be written as META keywords.', '
|
307 |
-
'custom_link' => __( "Override the canonical URLs for this post.", '
|
308 |
-
'noindex' => __( 'Check this box to ask search engines not to index this page.', '
|
309 |
-
'nofollow' => __( 'Check this box to ask search engines not to follow links from this page.', '
|
310 |
-
'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for this page.', '
|
311 |
-
'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for this page.', '
|
312 |
-
'titleatr' => __( 'Set the title attribute for menu links.', '
|
313 |
-
'menulabel' => __( 'Set the label for this page menu item.', '
|
314 |
-
'sitemap_exclude' => __( "Don't display this page in the sitemap.", '
|
315 |
-
'disable' => __( 'Disable SEO on this page.', '
|
316 |
-
'disable_analytics' => __( 'Disable Google Analytics on this page.', '
|
317 |
);
|
318 |
|
319 |
$this->default_options = array(
|
320 |
"donate" => Array(
|
321 |
-
'name' => __( 'I enjoy this plugin and have made a donation:', '
|
322 |
"home_title"=> Array(
|
323 |
-
'name' => __( 'Home Title:', '
|
324 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
325 |
'count' => true, 'rows' => 1, 'cols' => 60,
|
326 |
'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
|
327 |
"home_description"=> Array(
|
328 |
-
'name' => __( 'Home Description:', '
|
329 |
'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
|
330 |
'count' => true, 'cols' => 80, 'rows' => 2,
|
331 |
'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
|
332 |
"togglekeywords" => Array(
|
333 |
-
'name' => __( 'Use Keywords:', '
|
334 |
'default' => 0,
|
335 |
'type' => 'radio',
|
336 |
-
'initial_options' => Array( 0 => __( 'Enabled', '
|
337 |
-
1 => __( 'Disabled', '
|
338 |
),
|
339 |
"home_keywords"=> Array(
|
340 |
-
'name' => __( 'Home Keywords (comma separated):', '
|
341 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
342 |
'condshow' => Array( "aiosp_togglekeywords" => 0, "aiosp_use_static_home_info" => 0 ) ),
|
343 |
"use_static_home_info" => Array(
|
344 |
-
'name' => __( "Use Static Front Page Instead", '
|
345 |
'default' => 0,
|
346 |
'type' => 'radio',
|
347 |
-
'initial_options' => Array( 1 => __( 'Enabled', '
|
348 |
-
0 => __( 'Disabled', '
|
349 |
),
|
350 |
"can"=> Array(
|
351 |
-
'name' => __( 'Canonical URLs:', '
|
352 |
'default' => 1),
|
353 |
"no_paged_canonical_links"=> Array(
|
354 |
-
'name' => __( 'No Pagination for Canonical URLs:', '
|
355 |
'default' => 0,
|
356 |
'condshow' => Array( "aiosp_can" => 'on' ) ),
|
357 |
"customize_canonical_links" => Array(
|
358 |
-
'name' => __( 'Enable Custom Canonical URLs:', '
|
359 |
'default' => 0,
|
360 |
'condshow' => Array( "aiosp_can" => 'on' ) ),
|
361 |
"can_set_protocol" => Array(
|
362 |
-
'name' => __( 'Set Protocol For Canonical URLs:', '
|
363 |
'type' => 'radio',
|
364 |
'default' => 'auto',
|
365 |
-
'initial_options' => Array( 'auto' => __( 'Auto', '
|
366 |
-
'http' => __( 'HTTP', '
|
367 |
-
'https' => __( 'HTTPS', '
|
368 |
'condshow' => Array( "aiosp_can" => 'on' )
|
369 |
),
|
370 |
"rewrite_titles"=> Array(
|
371 |
-
'name' => __( 'Rewrite Titles:', '
|
372 |
'default' => 1,
|
373 |
'type' => 'radio',
|
374 |
-
'initial_options' => Array( 1 => __( 'Enabled', '
|
375 |
-
0 => __( 'Disabled', '
|
376 |
),
|
377 |
"force_rewrites"=> Array(
|
378 |
-
'name' => __( 'Force Rewrites:', '
|
379 |
'default' => 1,
|
380 |
'type' => 'hidden',
|
381 |
'prefix' => $this->prefix,
|
382 |
-
'initial_options' => Array( 1 => __( 'Enabled', '
|
383 |
-
0 => __( 'Disabled', '
|
384 |
),
|
385 |
"use_original_title"=> Array(
|
386 |
-
'name' => __( 'Use Original Title:', '
|
387 |
'type' => 'radio',
|
388 |
'default' => 0,
|
389 |
-
'initial_options' => Array( 1 => __( 'Enabled', '
|
390 |
-
0 => __( 'Disabled', '
|
391 |
),
|
392 |
"cap_titles"=> Array(
|
393 |
-
'name' => __( 'Capitalize Titles:', '
|
394 |
"cap_cats"=> Array(
|
395 |
-
'name' => __( 'Capitalize Category Titles:', '
|
396 |
"home_page_title_format"=> Array(
|
397 |
-
'name' => __( 'Home Page Title Format:', '
|
398 |
'type' => 'text', 'default' => '%page_title%',
|
399 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
400 |
"page_title_format"=> Array(
|
401 |
-
'name' => __( 'Page Title Format:', '
|
402 |
'type' => 'text', 'default' => '%page_title% | %blog_title%',
|
403 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
404 |
"post_title_format"=> Array(
|
405 |
-
'name' => __( 'Post Title Format:', '
|
406 |
'type' => 'text', 'default' => '%post_title% | %blog_title%',
|
407 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
408 |
"category_title_format"=> Array(
|
409 |
-
'name' => __( 'Category Title Format:', '
|
410 |
'type' => 'text', 'default' => '%category_title% | %blog_title%',
|
411 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
412 |
"archive_title_format"=> Array(
|
413 |
-
'name' => __( 'Archive Title Format:', '
|
414 |
'type' => 'text', 'default' => '%archive_title% | %blog_title%',
|
415 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
416 |
"date_title_format"=> Array(
|
417 |
-
'name' => __( 'Date Archive Title Format:', '
|
418 |
'type' => 'text', 'default' => '%date% | %blog_title%',
|
419 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
420 |
"author_title_format"=> Array(
|
421 |
-
'name' => __( 'Author Archive Title Format:', '
|
422 |
'type' => 'text', 'default' => '%author% | %blog_title%',
|
423 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
424 |
"tag_title_format"=> Array(
|
425 |
-
'name' => __( 'Tag Title Format:', '
|
426 |
'type' => 'text', 'default' => '%tag% | %blog_title%',
|
427 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
428 |
"search_title_format"=> Array(
|
429 |
-
'name' => __( 'Search Title Format:', '
|
430 |
'type' => 'text', 'default' => '%search% | %blog_title%',
|
431 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
432 |
"description_format"=> Array(
|
433 |
-
'name' => __( 'Description Format', '
|
434 |
'type' => 'text', 'default' => '%description%',
|
435 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
436 |
"404_title_format"=> Array(
|
437 |
-
'name' => __( '404 Title Format:', '
|
438 |
'type' => 'text', 'default' => 'Nothing found for %request_words%',
|
439 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
440 |
"paged_format"=> Array(
|
441 |
-
'name' => __( 'Paged Format:', '
|
442 |
'type' => 'text', 'default' => ' - Part %page%',
|
443 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
444 |
"enablecpost"=> Array(
|
445 |
-
'name' => __( 'SEO for Custom Post Types:', '
|
446 |
'default' => 'on',
|
447 |
'type' => 'radio',
|
448 |
-
'initial_options' => Array( 'on' => __( 'Enabled', '
|
449 |
-
0 => __( 'Disabled', '
|
450 |
),
|
451 |
"cpostactive" => Array(
|
452 |
-
'name' => __( 'SEO on only these post types:', '
|
453 |
'type' => 'multicheckbox', 'default' => array('post', 'page'),
|
454 |
'condshow' => Array( 'aiosp_enablecpost' => 'on' )
|
455 |
),
|
456 |
"cpostadvanced" => Array(
|
457 |
-
'name' => __( 'Enable Advanced Options:', '
|
458 |
'default' => 0, 'type' => 'radio',
|
459 |
-
'initial_options' => Array( 'on' => __( 'Enabled', '
|
460 |
-
0 => __( 'Disabled', '
|
461 |
'label' => null,
|
462 |
'condshow' => Array( "aiosp_enablecpost" => 'on' )
|
463 |
),
|
464 |
"cpostnoindex" => Array(
|
465 |
-
'name' => __( 'Default to NOINDEX:', '
|
466 |
'type' => 'multicheckbox', 'default' => array(),
|
467 |
-
'condshow' => Array( 'aiosp_enablecpost' => 'on'
|
468 |
),
|
469 |
"cpostnofollow" => Array(
|
470 |
-
'name' => __( 'Default to NOFOLLOW:', '
|
471 |
'type' => 'multicheckbox', 'default' => array(),
|
472 |
-
'condshow' => Array( 'aiosp_enablecpost' => 'on'
|
473 |
),
|
474 |
"cpostnoodp"=> Array(
|
475 |
-
'name' => __( 'Default to NOODP:', '
|
476 |
'type' => 'multicheckbox', 'default' => array(),
|
477 |
-
'condshow' => Array( 'aiosp_enablecpost' => 'on'
|
478 |
),
|
479 |
"cpostnoydir"=> Array(
|
480 |
-
'name' => __( 'Default to NOYDIR:', '
|
481 |
'type' => 'multicheckbox', 'default' => array(),
|
482 |
-
'condshow' => Array( 'aiosp_enablecpost' => 'on'
|
483 |
),
|
484 |
"cposttitles" => Array(
|
485 |
-
'name' => __( 'Custom titles:', '
|
486 |
'type' => 'checkbox', 'default' => 0,
|
487 |
'condshow' => Array( "aiosp_rewrite_titles" => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
|
488 |
),
|
489 |
"posttypecolumns" => Array(
|
490 |
-
'name' => __( 'Show Column Labels for Custom Post Types:', '
|
491 |
'type' => 'multicheckbox', 'default' => array('post', 'page') ),
|
492 |
"admin_bar" => Array(
|
493 |
-
'name' => __( 'Display Menu In Admin Bar:', '
|
494 |
),
|
495 |
"custom_menu_order" => Array(
|
496 |
-
'name' => __( 'Display Menu At The Top:', '
|
497 |
),
|
498 |
"google_verify" => Array(
|
499 |
-
'name' => __( 'Google Webmaster Tools:', '
|
500 |
),
|
501 |
"bing_verify" => Array(
|
502 |
-
'name' => __( 'Bing Webmaster Center:', '
|
503 |
),
|
504 |
"pinterest_verify" => Array(
|
505 |
-
'name' => __( 'Pinterest Site Verification:', '
|
506 |
),
|
507 |
"google_publisher"=> Array(
|
508 |
-
'name' => __( 'Google Plus Default Profile:', '
|
509 |
),
|
510 |
"google_disable_profile"=> Array(
|
511 |
-
'name' => __( 'Disable Google Plus Profile:', '
|
512 |
),
|
513 |
"google_sitelinks_search" => Array(
|
514 |
-
'name' => __( 'Display Sitelinks Search Box:', '
|
515 |
),
|
516 |
"google_set_site_name" => Array(
|
517 |
-
'name' => __( 'Set Preferred Site Name:', '
|
518 |
),
|
519 |
"google_specify_site_name" => Array(
|
520 |
-
'name' => __( 'Specify A Preferred Name:', '
|
521 |
'type' => 'text',
|
522 |
'placeholder' => $blog_name,
|
523 |
'condshow' => Array( 'aiosp_google_set_site_name' => 'on' )
|
524 |
),
|
525 |
"google_author_advanced" => Array(
|
526 |
-
'name' => __( 'Advanced Authorship Options:', '
|
527 |
'default' => 0, 'type' => 'radio',
|
528 |
-
'initial_options' => Array( 'on' => __( 'Enabled', '
|
529 |
-
0 => __( 'Disabled', '
|
530 |
'label' => null
|
531 |
),
|
532 |
"google_author_location"=> Array(
|
533 |
-
'name' => __( 'Display Google Authorship:', '
|
534 |
'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
|
535 |
),
|
536 |
"google_enable_publisher" => Array(
|
537 |
-
'name' => __( 'Display Publisher Meta on Front Page:', '
|
538 |
'default' => 'on', 'type' => 'radio',
|
539 |
-
'initial_options' => Array( 'on' => __( 'Enabled', '
|
540 |
-
0 => __( 'Disabled', '
|
541 |
'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
|
542 |
),
|
543 |
"google_specify_publisher" => Array(
|
544 |
-
'name' => __( 'Specify Publisher URL:', '
|
545 |
'condshow' => Array( 'aiosp_google_author_advanced' => 'on', 'aiosp_google_enable_publisher' => 'on' )
|
546 |
),
|
547 |
-
// "google_connect"=>Array( 'name' => __( 'Connect With Google Analytics', '
|
548 |
"google_analytics_id"=> Array(
|
549 |
-
'name' => __( 'Google Analytics ID:', '
|
550 |
'default' => null, 'type' => 'text', 'placeholder' => 'UA-########-#' ),
|
551 |
"ga_use_universal_analytics" => Array(
|
552 |
-
'name' => __( 'Use Universal Analytics:', '
|
553 |
'default' => 0,
|
554 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
|
555 |
"ga_advanced_options"=> Array(
|
556 |
-
'name' => __( 'Advanced Analytics Options:', '
|
557 |
'default' => 'on',
|
558 |
'type' => 'radio',
|
559 |
-
'initial_options' => Array( 'on' => __( 'Enabled', '
|
560 |
-
0 => __( 'Disabled', '
|
561 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
|
562 |
"ga_domain"=> Array(
|
563 |
-
'name' => __( 'Tracking Domain:', '
|
564 |
'type' => 'text',
|
565 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on') ),
|
566 |
"ga_multi_domain"=> Array(
|
567 |
-
'name' => __( 'Track Multiple Domains:', '
|
568 |
'default' => 0,
|
569 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
570 |
"ga_addl_domains" => Array(
|
571 |
-
'name' => __( 'Additional Domains:', '
|
572 |
'type' => 'textarea',
|
573 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on', 'aiosp_ga_multi_domain' => 'on' ) ),
|
574 |
"ga_anonymize_ip"=> Array(
|
575 |
-
'name' => __( 'Anonymize IP Addresses:', '
|
576 |
'type' => 'checkbox',
|
577 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
578 |
"ga_display_advertising"=> Array(
|
579 |
-
'name' => __( 'Display Advertiser Tracking:', '
|
580 |
'type' => 'checkbox',
|
581 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
582 |
"ga_exclude_users"=> Array(
|
583 |
-
'name' => __( 'Exclude Users From Tracking:', '
|
584 |
'type' => 'multicheckbox',
|
585 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
586 |
"ga_track_outbound_links"=> Array(
|
587 |
-
'name' => __( 'Track Outbound Links:', '
|
588 |
'default' => 0,
|
589 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
590 |
"ga_link_attribution"=> Array(
|
591 |
-
'name' => __( 'Enhanced Link Attribution:', '
|
592 |
'default' => 0,
|
593 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
594 |
"ga_enhanced_ecommerce"=> Array(
|
595 |
-
'name' => __( 'Enhanced Ecommerce:', '
|
596 |
'default' => 0,
|
597 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_use_universal_analytics' => 'on', 'aiosp_ga_advanced_options' => 'on' ) ),
|
598 |
"use_categories"=> Array(
|
599 |
-
'name' => __( 'Use Categories for META keywords:', '
|
600 |
'default' => 0,
|
601 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
602 |
"use_tags_as_keywords" => Array(
|
603 |
-
'name' => __( 'Use Tags for META keywords:', '
|
604 |
'default' => 1,
|
605 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
606 |
"dynamic_postspage_keywords"=> Array(
|
607 |
-
'name' => __( 'Dynamically Generate Keywords for Posts Page/Archives:', '
|
608 |
'default' => 1,
|
609 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
610 |
"category_noindex"=> Array(
|
611 |
-
'name' => __( 'Use noindex for Categories:', '
|
612 |
'default' => 1),
|
613 |
"archive_date_noindex"=> Array(
|
614 |
-
'name' => __( 'Use noindex for Date Archives:', '
|
615 |
'default' => 1),
|
616 |
"archive_author_noindex"=> Array(
|
617 |
-
'name' => __( 'Use noindex for Author Archives:', '
|
618 |
'default' => 1),
|
619 |
"tags_noindex"=> Array(
|
620 |
-
'name' => __( 'Use noindex for Tag Archives:', '
|
621 |
'default' => 0),
|
622 |
"search_noindex"=> Array(
|
623 |
-
'name' => __( 'Use noindex for the Search page:', '
|
624 |
'default' => 0),
|
625 |
"404_noindex"=> Array(
|
626 |
-
'name' => __( 'Use noindex for the 404 page:', '
|
627 |
'default' => 0),
|
628 |
"tax_noindex"=> Array(
|
629 |
-
'name' => __( 'Use noindex for Taxonomy Archives:', '
|
630 |
'type' => 'multicheckbox', 'default' => array(),
|
631 |
'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
|
632 |
),
|
633 |
"paginated_noindex" => Array(
|
634 |
-
'name' => __( 'Use noindex for paginated pages/posts:', '
|
635 |
'default' => 0),
|
636 |
"paginated_nofollow"=> Array(
|
637 |
-
'name' => __( 'Use nofollow for paginated pages/posts:', '
|
638 |
'default' => 0),
|
639 |
"noodp"=> Array(
|
640 |
-
'name' => __( 'Exclude site from the Open Directory Project:', '
|
641 |
'default' => 0),
|
642 |
"noydir"=> Array(
|
643 |
-
'name' => __( 'Exclude site from Yahoo! Directory:', '
|
644 |
'default' => 0),
|
645 |
"skip_excerpt"=> Array(
|
646 |
-
'name' => __( 'Avoid Using The Excerpt In Descriptions:', '
|
647 |
'default' => 0 ),
|
648 |
"generate_descriptions"=> Array(
|
649 |
-
'name' => __( 'Autogenerate Descriptions:', '
|
650 |
'default' => 1),
|
651 |
"run_shortcodes"=> Array(
|
652 |
-
'name' => __( 'Run Shortcodes In Autogenerated Descriptions:', '
|
653 |
'default' => 0,
|
654 |
'condshow' => Array( 'aiosp_generate_descriptions' => 'on' ) ),
|
655 |
"hide_paginated_descriptions"=> Array(
|
656 |
-
'name' => __( 'Remove Descriptions For Paginated Pages:', '
|
657 |
'default' => 0),
|
658 |
"dont_truncate_descriptions"=> Array(
|
659 |
-
'name' => __( 'Never Shorten Long Descriptions:', '
|
660 |
'default' => 0),
|
661 |
"schema_markup"=> Array(
|
662 |
-
'name' => __( 'Use Schema.org Markup', '
|
663 |
'default' => 1),
|
664 |
"unprotect_meta"=> Array(
|
665 |
-
'name' => __( 'Unprotect Post Meta Fields:', '
|
666 |
'default' => 0),
|
667 |
"ex_pages" => Array(
|
668 |
-
'name' => __( 'Exclude Pages:', '
|
669 |
'type' => 'textarea', 'default' => '' ),
|
670 |
"post_meta_tags"=> Array(
|
671 |
-
'name' => __( 'Additional Post Headers:', '
|
672 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
673 |
"page_meta_tags"=> Array(
|
674 |
-
'name' => __( 'Additional Page Headers:', '
|
675 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
676 |
"front_meta_tags"=> Array(
|
677 |
-
'name' => __( 'Additional Front Page Headers:', '
|
678 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
679 |
"home_meta_tags"=> Array(
|
680 |
-
'name' => __( 'Additional Blog Page Headers:', '
|
681 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
682 |
"do_log"=> Array(
|
683 |
-
'name' => __( 'Log important events:', '
|
684 |
'default' => null ),
|
685 |
);
|
686 |
|
@@ -693,9 +693,9 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
693 |
'nonce-aioseop-edit' => Array( 'type' => 'hidden', 'default' => null, 'prefix' => false, 'nowrap' => 1 ),
|
694 |
'upgrade' => Array( 'type' => 'html', 'label' => 'none',
|
695 |
'default' => '<a target="__blank" href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=meta">'
|
696 |
-
. __( 'Upgrade to All in One SEO Pack Pro Version', '
|
697 |
),
|
698 |
-
'snippet' => Array( 'name' => __( 'Preview Snippet', '
|
699 |
'default' => '
|
700 |
<script>
|
701 |
jQuery(document).ready(function() {
|
@@ -708,20 +708,20 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
708 |
});
|
709 |
</script>
|
710 |
<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>' ),
|
711 |
-
'title' => Array( 'name' => __( 'Title', '
|
712 |
-
'description' => Array( 'name' => __( 'Description', '
|
713 |
|
714 |
-
'keywords' => Array( 'name' => __( 'Keywords (comma separated)', '
|
715 |
-
'custom_link' => Array( 'name' => __( 'Custom Canonical URL', '
|
716 |
-
'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", '
|
717 |
-
'nofollow' => Array( 'name' => __( "Robots Meta NOFOLLOW", '
|
718 |
-
'noodp' => Array( 'name' => __( "Robots Meta NOODP", '
|
719 |
-
'noydir' => Array( 'name' => __( "Robots Meta NOYDIR", '
|
720 |
-
'titleatr' => Array( 'name' => __( 'Title Attribute', '
|
721 |
-
'menulabel' => Array( 'name' => __( 'Menu Label', '
|
722 |
-
'sitemap_exclude' => Array( 'name' => __( 'Exclude From Sitemap', '
|
723 |
-
'disable' => Array( 'name' => __( 'Disable on this page/post', '
|
724 |
-
'disable_analytics' => Array( 'name' => __( 'Disable Google Analytics', '
|
725 |
'display' => null )
|
726 |
);
|
727 |
|
@@ -731,55 +731,55 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
731 |
|
732 |
$this->layout = Array(
|
733 |
'default' => Array(
|
734 |
-
'name' => __( 'General Settings', '
|
735 |
'help_link' => 'http://semperplugins.com/documentation/general-settings/',
|
736 |
'options' => Array() // this is set below, to the remaining options -- pdb
|
737 |
),
|
738 |
'home' => Array(
|
739 |
-
'name' => __( 'Home Page Settings', '
|
740 |
'help_link' => 'http://semperplugins.com/documentation/home-page-settings/',
|
741 |
'options' => Array( 'home_title', 'home_description', 'home_keywords', 'use_static_home_info' )
|
742 |
),
|
743 |
'keywords' => Array(
|
744 |
-
'name' => __( 'Keyword Settings', '
|
745 |
'help_link' => 'http://semperplugins.com/documentation/keyword-settings/',
|
746 |
'options' => Array( "togglekeywords", "use_categories", "use_tags_as_keywords", "dynamic_postspage_keywords" )
|
747 |
),
|
748 |
'title' => Array(
|
749 |
-
'name' => __( 'Title Settings', '
|
750 |
'help_link' => 'http://semperplugins.com/documentation/title-settings/',
|
751 |
'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",
|
752 |
"tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
|
753 |
),
|
754 |
'cpt' => Array(
|
755 |
-
'name' => __( 'Custom Post Type Settings', '
|
756 |
'help_link' => 'http://semperplugins.com/documentation/custom-post-type-settings/',
|
757 |
'options' => Array( "enablecpost", "cpostadvanced", "cpostactive", "cposttitles" )
|
758 |
),
|
759 |
'display' => Array(
|
760 |
-
'name' => __( 'Display Settings', '
|
761 |
'help_link' => 'http://semperplugins.com/documentation/display-settings/',
|
762 |
'options' => Array( "posttypecolumns", "admin_bar", "custom_menu_order" )
|
763 |
),
|
764 |
'webmaster' => Array(
|
765 |
-
'name' => __( 'Webmaster Verification', '
|
766 |
'help_link' => 'http://semperplugins.com/sections/webmaster-verification/',
|
767 |
'options' => Array( "google_verify", "bing_verify", "pinterest_verify" )
|
768 |
),
|
769 |
'google' => Array(
|
770 |
-
'name' => __( 'Google Settings', '
|
771 |
'help_link' => 'http://semperplugins.com/documentation/google-settings/',
|
772 |
'options' => Array( "google_publisher", "google_disable_profile", "google_sitelinks_search", "google_set_site_name", "google_specify_site_name", "google_author_advanced", "google_author_location", "google_enable_publisher" , "google_specify_publisher",
|
773 |
// "google_connect",
|
774 |
"google_analytics_id", "ga_use_universal_analytics", "ga_advanced_options", "ga_domain", "ga_multi_domain", "ga_addl_domains", "ga_anonymize_ip", "ga_display_advertising", "ga_exclude_users", "ga_track_outbound_links", "ga_link_attribution", "ga_enhanced_ecommerce" )
|
775 |
),
|
776 |
'noindex' => Array(
|
777 |
-
'name' => __( 'Noindex Settings', '
|
778 |
'help_link' => 'http://semperplugins.com/documentation/noindex-settings/',
|
779 |
'options' => Array( 'cpostnoindex', 'cpostnofollow', 'cpostnoodp', 'cpostnoydir', 'category_noindex', 'archive_date_noindex', 'archive_author_noindex', 'tags_noindex', 'search_noindex', '404_noindex', 'tax_noindex', 'paginated_noindex', 'paginated_nofollow', 'noodp', 'noydir' )
|
780 |
),
|
781 |
'advanced' => Array(
|
782 |
-
'name' => __( 'Advanced Settings', '
|
783 |
'help_link' => 'http://semperplugins.com/documentation/advanced-settings/',
|
784 |
'options' => Array( 'generate_descriptions', 'skip_excerpt', 'run_shortcodes', 'hide_paginated_descriptions', 'dont_truncate_descriptions', 'unprotect_meta', 'ex_pages', 'post_meta_tags', 'page_meta_tags', 'front_meta_tags', 'home_meta_tags' )
|
785 |
)
|
@@ -1078,7 +1078,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1078 |
$this->default_options["cpostnoodp"]['initial_options'] = $post_types;
|
1079 |
$this->default_options["cpostnoydir"]['initial_options'] = $post_types;
|
1080 |
$this->default_options["google_author_location"]['initial_options'] = $post_types;
|
1081 |
-
$this->default_options['google_author_location' ]['initial_options'] = array_merge( Array( 'front' => __( 'Front Page', '
|
1082 |
$this->default_options["google_author_location"]['default'] = array_keys( $this->default_options["google_author_location"]['initial_options'] );
|
1083 |
|
1084 |
foreach ( $post_types as $p => $pt ) {
|
@@ -1086,24 +1086,24 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1086 |
$name = $post_objs[$p]->labels->singular_name;
|
1087 |
if ( !isset( $this->default_options[$field] ) ) {
|
1088 |
$this->default_options[$field] = Array (
|
1089 |
-
'name' => "$name " . __( 'Title Format:', '
|
1090 |
'type' => 'text',
|
1091 |
'default' => '%post_title% | %blog_title%',
|
1092 |
'condshow' => Array( 'aiosp_rewrite_titles' => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on', 'aiosp_cposttitles' => 'on', 'aiosp_cpostactive\[\]' => $p )
|
1093 |
);
|
1094 |
-
$this->help_text[$field] = __( 'The following macros are supported:', '
|
1095 |
-
. '<ul><li>' . __( '%blog_title% - Your blog title', '
|
1096 |
-
__( '%blog_description% - Your blog description', '
|
1097 |
-
__( '%post_title% - The original title of the post.', '
|
1098 |
$taxes = get_object_taxonomies( $p, 'objects' );
|
1099 |
if ( !empty( $taxes ) )
|
1100 |
foreach( $taxes as $n => $t )
|
1101 |
-
$this->help_text[$field] .= sprintf( __( "%%tax_%s%% - This post's associated %s
|
1102 |
$this->help_text[$field] .=
|
1103 |
-
__( "%post_author_login% - This post's author' login", '
|
1104 |
-
__( "%post_author_nicename% - This post's author' nicename", '
|
1105 |
-
__( "%post_author_firstname% - This post's author' first name (capitalized)", '
|
1106 |
-
__( "%post_author_lastname% - This post's author' last name (capitalized)", '
|
1107 |
'</ul>';
|
1108 |
$this->help_anchors[$field] = '#custom-titles';
|
1109 |
$this->layout['cpt']['options'][] = $field;
|
@@ -1130,15 +1130,15 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1130 |
|
1131 |
function add_admin_pointers() {
|
1132 |
$this->pointers['aioseop_menu_220'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-aioseop_class',
|
1133 |
-
'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', '
|
1134 |
-
. '</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!', '
|
1135 |
'pointer_edge' => 'top',
|
1136 |
'pointer_align' => 'left',
|
1137 |
'pointer_scope' => 'global'
|
1138 |
);
|
1139 |
$this->pointers['aioseop_welcome_220'] = Array( 'pointer_target' => '#aioseop_top_button',
|
1140 |
-
'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', '
|
1141 |
-
. '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New since 2.2: Control who accesses your site with the new Robots.txt Editor and File Editor modules! Enable them from the Feature Manager. Remember to review your settings, we have added some new ones!', '
|
1142 |
'pointer_edge' => 'bottom',
|
1143 |
'pointer_align' => 'left',
|
1144 |
'pointer_scope' => 'local'
|
@@ -1157,8 +1157,8 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1157 |
}
|
1158 |
|
1159 |
function filter_submit( $submit ) {
|
1160 |
-
$submit['Submit_Default']['value'] = __( 'Reset General Settings to Defaults', '
|
1161 |
-
$submit['Submit_All_Default'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( 'Reset ALL Settings to Defaults', '
|
1162 |
return $submit;
|
1163 |
}
|
1164 |
|
@@ -1219,19 +1219,19 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1219 |
$post_type = get_post_type( $post );
|
1220 |
if ( !empty( $this->options['aiosp_cpostnoindex'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoindex'] ) ) ) {
|
1221 |
$settings["{$prefix}noindex"]['type'] = 'select';
|
1222 |
-
$settings["{$prefix}noindex"]['initial_options'] = Array( '' => __( 'Default - noindex', '
|
1223 |
}
|
1224 |
if ( !empty( $this->options['aiosp_cpostnofollow'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnofollow'] ) ) ) {
|
1225 |
$settings["{$prefix}nofollow"]['type'] = 'select';
|
1226 |
-
$settings["{$prefix}nofollow"]['initial_options'] = Array( '' => __( 'Default - nofollow', '
|
1227 |
}
|
1228 |
if ( !empty( $this->options['aiosp_cpostnoodp'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoodp'] ) ) ) {
|
1229 |
$settings["{$prefix}noodp"]['type'] = 'select';
|
1230 |
-
$settings["{$prefix}noodp"]['initial_options'] = Array( '' => __( 'Default - noodp', '
|
1231 |
}
|
1232 |
if ( !empty( $this->options['aiosp_cpostnoydir'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoydir'] ) ) ) {
|
1233 |
$settings["{$prefix}noydir"]['type'] = 'select';
|
1234 |
-
$settings["{$prefix}noydir"]['initial_options'] = Array( '' => __( 'Default - noydir', '
|
1235 |
}
|
1236 |
global $post;
|
1237 |
$info = $this->get_page_snippet_info();
|
@@ -1295,7 +1295,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1295 |
switch ( $meta['id'] ) {
|
1296 |
case "aioseop-about":
|
1297 |
?><div class="aioseop_metabox_text">
|
1298 |
-
<p><h2 style="display:inline;"><?php echo AIOSEOP_PLUGIN_NAME; ?></h2><?php sprintf( __( "by %s of %s.", '
|
1299 |
href="http://semperfiwebdesign.com/">Semper Fi Web Design</a>' ); ?>.</p>
|
1300 |
<?php
|
1301 |
global $current_user;
|
@@ -1306,13 +1306,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1306 |
wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
|
1307 |
$qa['aioseop_reset_notices'] = 1;
|
1308 |
$url = '?' . build_query( $qa );
|
1309 |
-
echo '<p><a href="' . $url . '">' . __( "Reset Dismissed Notices", '
|
1310 |
}
|
1311 |
?>
|
1312 |
<p>
|
1313 |
-
<strong><a target="_blank" title="<?php _e('Pro Version', '
|
1314 |
href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=side">
|
1315 |
-
<?php _e('UPGRADE TO PRO VERSION', '
|
1316 |
</div>
|
1317 |
<?php
|
1318 |
case "aioseop-donate":
|
@@ -1327,13 +1327,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1327 |
</div>
|
1328 |
|
1329 |
<div class="aioseop_metabox_feature">
|
1330 |
-
<a target="_blank" title="<?php _e( 'Donate', '
|
1331 |
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">
|
1332 |
-
<img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/donate.jpg" alt="<?php _e('Donate with Paypal', '
|
1333 |
<a target="_blank" title="Amazon Wish List" href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web">
|
1334 |
-
<img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/amazon.jpg" alt="<?php _e('My Amazon Wish List', '
|
1335 |
-
<a target="_blank" title="<?php _e( 'Follow us on Facebook', '
|
1336 |
-
<a target="_blank" title="<?php _e( 'Follow us on Twitter', '
|
1337 |
</div>
|
1338 |
|
1339 |
</div>
|
@@ -1344,8 +1344,8 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1344 |
<div class="aioseop_metabox_text">
|
1345 |
<form action="http://semperfiwebdesign.us1.list-manage.com/subscribe/post?u=794674d3d54fdd912f961ef14&id=af0a96d3d9"
|
1346 |
method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
|
1347 |
-
<h2><?php _e( 'Join our mailing list for tips, tricks, and WordPress secrets.', '
|
1348 |
-
<p><i><?php _e( 'Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress ($39 value).', '
|
1349 |
<p><input type="text" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Email Address">
|
1350 |
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="btn"></p>
|
1351 |
</form>
|
@@ -1354,13 +1354,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1354 |
break;
|
1355 |
case "aioseop-support":
|
1356 |
?><div class="aioseop_metabox_text">
|
1357 |
-
<p><div class="aioseop_icon aioseop_file_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/"><?php _e( 'Read the All in One SEO Pack user guide', '
|
1358 |
-
<p><div class="aioseop_icon aioseop_support_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Support Forum', '
|
1359 |
-
href="http://semperplugins.com/support/"><?php _e( 'Access our Premium Support Forums', '
|
1360 |
-
<p><div class="aioseop_icon aioseop_cog_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Changelog', '
|
1361 |
-
href="http://semperfiwebdesign.com/blog/all-in-one-seo-pack/all-in-one-seo-pack-release-history/"><?php _e( 'View the Changelog', '
|
1362 |
-
<p><div class="aioseop_icon aioseop_youtube_icon"></div><a target="_blank" href="http://semperplugins.com/doc-type/video/"><?php _e( 'Watch video tutorials', '
|
1363 |
-
<p><div class="aioseop_icon aioseop_book_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/quick-start-guide/"><?php _e( 'Getting started? Read the Beginners Guide', '
|
1364 |
</div>
|
1365 |
<?php
|
1366 |
break;
|
@@ -1446,9 +1446,9 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1446 |
|
1447 |
function init() {
|
1448 |
if ( !defined( 'WP_PLUGIN_DIR' ) ) {
|
1449 |
-
load_plugin_textdomain( '
|
1450 |
} else {
|
1451 |
-
load_plugin_textdomain( '
|
1452 |
}
|
1453 |
}
|
1454 |
|
@@ -1772,7 +1772,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
1772 |
static $aioseop_dup_counter = 0;
|
1773 |
$aioseop_dup_counter++;
|
1774 |
if ( $aioseop_dup_counter > 1 ) {
|
1775 |
-
echo "\n<!-- " . sprintf( __( "Debug Warning: All in One SEO Pack meta data was included again from %s filter. Called %s times!", '
|
1776 |
return;
|
1777 |
}
|
1778 |
if ( is_home() && !is_front_page() ) {
|
@@ -2024,15 +2024,15 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
2024 |
$this->default_options["google_connect"]["type"] = 'html';
|
2025 |
$this->default_options["google_connect"]["nolabel"] = 1;
|
2026 |
$this->default_options["google_connect"]["save"] = true;
|
2027 |
-
$this->default_options["google_connect"]["name"] = __( 'Disconnect From Google Analytics', '
|
2028 |
-
$this->default_options["google_connect"]["default"] = "<input name='aiosp_google_connect' type=submit class='button-primary' value='" . __( 'Remove Stored Credentials', '
|
2029 |
add_filter( $this->prefix . 'override_options', Array( $this, 'override_options' ), 10, 3 );
|
2030 |
} else {
|
2031 |
$this->default_options["google_connect"]["type"] = 'html';
|
2032 |
$this->default_options["google_connect"]["nolabel"] = 1;
|
2033 |
$this->default_options["google_connect"]["save"] = false;
|
2034 |
$url = $this->oauth_connect();
|
2035 |
-
$this->default_options["google_connect"]["default"] = "<a href='{$url}' class='button-primary'>" . __( 'Connect With Google Analytics', '
|
2036 |
foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
|
2037 |
if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
|
2038 |
}
|
@@ -2047,7 +2047,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
2047 |
|
2048 |
function oauth_get_data( $oauth_url, $args = null ) {
|
2049 |
if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
|
2050 |
-
if ( $args === null ) $args = Array( 'scope' => 'https://www.googleapis.com/auth/analytics.readonly', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', '
|
2051 |
$req_token = new OAuthConsumer( $this->token, $this->secret );
|
2052 |
$req = $this->oauth_get_creds( $oauth_url, $req_token, $args );
|
2053 |
return wp_remote_get( $req->to_url() );
|
@@ -2065,7 +2065,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
2065 |
|
2066 |
function oauth_get_token( $oauth_verifier ) {
|
2067 |
if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
|
2068 |
-
$args = Array( 'scope' => 'https://www.google.com/analytics/feeds/', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', '
|
2069 |
$args['oauth_verifier'] = $oauth_verifier;
|
2070 |
$oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
|
2071 |
$reqData = $this->oauth_get_data( $oauth_access_token, $args );
|
@@ -2097,7 +2097,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
|
|
2097 |
}
|
2098 |
$args = array(
|
2099 |
'scope' => 'https://www.google.com/analytics/feeds/',
|
2100 |
-
'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', '
|
2101 |
);
|
2102 |
$req_req = $this->oauth_get_creds( $oauth_request_token, NULL, $args, admin_url( "admin.php?page=all-in-one-seo-pack/aioseop_class.php" ) );
|
2103 |
$reqData = wp_remote_get( $req_req->to_url() );
|
@@ -3119,9 +3119,9 @@ EOF;
|
|
3119 |
return $keywords;
|
3120 |
}
|
3121 |
|
3122 |
-
function get_all_terms( $id, $
|
3123 |
$keywords = Array();
|
3124 |
-
$terms = get_the_terms( $id, $
|
3125 |
if ( !empty( $terms ) )
|
3126 |
foreach ( $terms as $term )
|
3127 |
$keywords[] = $this->internationalize( $term->name );
|
@@ -3283,21 +3283,21 @@ EOF;
|
|
3283 |
if ( empty( $url ) )
|
3284 |
$url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
|
3285 |
|
3286 |
-
$wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'SEO', '
|
3287 |
if ( current_user_can( 'update_plugins' ) )
|
3288 |
add_action( 'admin_bar_menu', array( $this, 'admin_bar_upgrade_menu' ), 1101 );
|
3289 |
$aioseop_admin_menu = 1;
|
3290 |
if ( !is_admin() && !empty( $post ) ) {
|
3291 |
$blog_page = $this->get_blog_page( $post );
|
3292 |
if ( !empty( $blog_page ) ) $post = $blog_page;
|
3293 |
-
$wp_admin_bar->add_menu( array( 'id' => 'aiosp_edit_' . $post->ID, 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Edit SEO', '
|
3294 |
}
|
3295 |
}
|
3296 |
}
|
3297 |
|
3298 |
function admin_bar_upgrade_menu() {
|
3299 |
global $wp_admin_bar;
|
3300 |
-
$wp_admin_bar->add_menu( array( 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Upgrade To Pro', '
|
3301 |
}
|
3302 |
|
3303 |
function menu_order() {
|
@@ -3306,7 +3306,7 @@ EOF;
|
|
3306 |
|
3307 |
function admin_menu() {
|
3308 |
$file = plugin_basename( __FILE__ );
|
3309 |
-
$menu_name = __( 'All in One SEO', '
|
3310 |
|
3311 |
$this->locations['aiosp']['default_options']['nonce-aioseop-edit']['default'] = wp_create_nonce('edit-aioseop-nonce');
|
3312 |
|
@@ -3350,8 +3350,8 @@ EOF;
|
|
3350 |
if ( $donated ) {
|
3351 |
// Thank you for your donation
|
3352 |
$this->pointers['aioseop_donate'] = Array( 'pointer_target' => '#aiosp_donate_wrapper',
|
3353 |
-
'pointer_text' => '<h3>' . __( 'Thank you!', '
|
3354 |
-
. '</h3><p>' . __( 'Thank you for your donation, it helps keep this plugin free and actively developed!', '
|
3355 |
);
|
3356 |
}
|
3357 |
|
@@ -3375,9 +3375,9 @@ EOF;
|
|
3375 |
else
|
3376 |
add_utility_page( $menu_name, $menu_name, 'manage_options', $file, Array( $this, 'display_settings_page' ) );
|
3377 |
|
3378 |
-
add_meta_box('aioseop-list', __( "Join Our Mailing List", '
|
3379 |
add_meta_box('aioseop-about', "About <span style='float:right;'>Version <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
|
3380 |
-
add_meta_box('aioseop-support', __( "Support", '
|
3381 |
|
3382 |
add_action( 'aioseop_modules_add_menus', Array( $this, 'add_menu' ), 5 );
|
3383 |
do_action( 'aioseop_modules_add_menus', $file );
|
@@ -3399,7 +3399,7 @@ EOF;
|
|
3399 |
if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
|
3400 |
if ( $tab_num <= 1 ) {
|
3401 |
if ( !empty( $m[0]['callback_args']['help_link'] ) )
|
3402 |
-
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m[0]['callback_args']['help_link'] . "'><span>" . __( 'Help', '
|
3403 |
add_meta_box( $m[0]['id'], $title, $m[0]['callback'], $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m[0]['callback_args'] );
|
3404 |
} elseif ( $tab_num > 1 ) {
|
3405 |
add_meta_box( $m[0]['id'] . '_tabbed', $title, Array( $this, 'display_tabbed_metabox' ), $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m );
|
@@ -3411,7 +3411,7 @@ EOF;
|
|
3411 |
$title = $m['title'];
|
3412 |
if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
|
3413 |
if ( !empty( $m['help_link'] ) )
|
3414 |
-
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m['help_link'] . "'><span>" . __( 'Help', '
|
3415 |
add_meta_box( $m['id'], $title, $m['callback'], $m['post_type'], $m['context'], $m['priority'], $m['callback_args'] );
|
3416 |
}
|
3417 |
}
|
@@ -3423,7 +3423,7 @@ EOF;
|
|
3423 |
$active = ' active';
|
3424 |
foreach( $tabs as $t ) {
|
3425 |
if ( $active )
|
3426 |
-
$title = __( 'Main Settings', '
|
3427 |
else
|
3428 |
$title = $t['title'];
|
3429 |
$header .= '<li><label class="aioseop_header_nav"><a class="aioseop_header_tab' . $active . '" href="#'. $t['id'] .'">'.$title.'</a></label></li>';
|
@@ -3452,7 +3452,7 @@ EOF;
|
|
3452 |
function display_right_sidebar( ) { ?>
|
3453 |
|
3454 |
<?php
|
3455 |
-
/* <label class="aioseop_generic_label"><?php _e('Click on option titles to get help!', '
|
3456 |
global $wpdb;
|
3457 |
|
3458 |
if( !get_option( 'aioseop_options' ) ) {
|
@@ -3494,11 +3494,27 @@ EOF;
|
|
3494 |
//]]>
|
3495 |
</script>
|
3496 |
<div class="aioseop_advert aioseop_nopad_all">
|
3497 |
-
<?php $adid = mt_rand(
|
3498 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3499 |
</div>
|
|
|
|
|
3500 |
<!-- Headway Themes-->
|
3501 |
-
<div class="aioseop_advert">
|
3502 |
<div>
|
3503 |
<h3>Drag and Drop WordPress Design</h3>
|
3504 |
<p><a href="http://semperfiwebdesign.com/headwayaio/" target="_blank">Headway Themes</a> allows you to easily create your own stunning website designs! Stop using premade themes start making your own design with Headway's easy to use Drag and Drop interface. All in One SEO Pack users have an exclusive discount by using coupon code <strong>SEMPERFI30</strong> at checkout.</p>
|
@@ -3506,6 +3522,7 @@ EOF;
|
|
3506 |
<a href="http://semperfiwebdesign.com/headwayaio/" target="_blank"><img src="<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>headwaybanner.png"></a>
|
3507 |
</div>
|
3508 |
|
|
|
3509 |
</div>
|
3510 |
</div>
|
3511 |
<?php
|
60 |
|
61 |
$this->init();
|
62 |
|
63 |
+
$this->name = sprintf( __( '%s Plugin Options', 'all-in-one-seo-pack' ), AIOSEOP_PLUGIN_NAME );
|
64 |
+
$this->menu_name = __( 'General Settings', 'all-in-one-seo-pack' );
|
65 |
|
66 |
$this->prefix = 'aiosp_'; // option prefix
|
67 |
$this->option_name = 'aioseop_options';
|
71 |
parent::__construct();
|
72 |
|
73 |
$this->help_text = Array(
|
74 |
+
"donate" => __( "All donations support continued development of this free software.", 'all-in-one-seo-pack'),
|
75 |
+
"can" => __( "This option will automatically generate Canonical URLs for your entire WordPress installation. This will help to prevent duplicate content penalties by <a href=\'http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html\' target=\'_blank\'>Google</a>.", 'all-in-one-seo-pack'),
|
76 |
+
"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'),
|
77 |
+
"customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", 'all-in-one-seo-pack'),
|
78 |
+
"can_set_protocol" => __( "Set protocol for canonical URLs.", 'all-in-one-seo-pack' ),
|
79 |
+
"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' ),
|
80 |
+
"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' ),
|
81 |
+
"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' ),
|
82 |
+
"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' ),
|
83 |
+
"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' ),
|
84 |
+
"use_static_home_info" => __( "Checking this option uses the title, description, and keywords set on your static Front Page.", 'all-in-one-seo-pack' ),
|
85 |
+
"togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", 'all-in-one-seo-pack' ),
|
86 |
+
"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' ),
|
87 |
+
"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' ),
|
88 |
+
"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'),
|
89 |
+
"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' ),
|
90 |
+
"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' ),
|
91 |
+
"cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", 'all-in-one-seo-pack'),
|
92 |
"home_page_title_format" =>
|
93 |
+
__( "This controls the format of the title tag for your Home Page.<br />The following macros are supported:", 'all-in-one-seo-pack' )
|
94 |
+
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
95 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
96 |
+
__( '%page_title% - The original title of the page', '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>' .
|
100 |
+
__( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
|
101 |
'</ul>',
|
102 |
"page_title_format" =>
|
103 |
+
__( "This controls the format of the title tag for Pages.<br />The following macros are supported:", 'all-in-one-seo-pack' )
|
104 |
+
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
105 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
106 |
+
__( '%page_title% - The original title of the page', 'all-in-one-seo-pack' ) . '</li><li>' .
|
107 |
+
__( "%page_author_login% - This page's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
|
108 |
+
__( "%page_author_nicename% - This page's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
|
109 |
+
__( "%page_author_firstname% - This page's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
|
110 |
+
__( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
|
111 |
'</ul>',
|
112 |
"post_title_format" =>
|
113 |
+
__( "This controls the format of the title tag for Posts.<br />The following macros are supported:", 'all-in-one-seo-pack' )
|
114 |
+
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
115 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
116 |
+
__( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
|
117 |
+
__( '%category_title% - The (main) category of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
|
118 |
+
__( '%category% - Alias for %category_title%', 'all-in-one-seo-pack' ) . '</li><li>' .
|
119 |
+
__( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
|
120 |
+
__( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
|
121 |
+
__( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
|
122 |
+
__( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
|
123 |
'</ul>',
|
124 |
"category_title_format" =>
|
125 |
+
__( "This controls the format of the title tag for Category Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
|
126 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
127 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
128 |
+
__( '%category_title% - The original title of the category', 'all-in-one-seo-pack' ) . '</li><li>' .
|
129 |
+
__( '%category_description% - The description of the category', 'all-in-one-seo-pack' ) . '</li></ul>',
|
130 |
"archive_title_format" =>
|
131 |
+
__( "This controls the format of the title tag for Custom Post Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
|
132 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
133 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
134 |
+
__( '%archive_title - The original archive title given by wordpress', 'all-in-one-seo-pack' ) . '</li></ul>',
|
135 |
"date_title_format" =>
|
136 |
+
__( "This controls the format of the title tag for Date Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
|
137 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
138 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
139 |
+
__( '%date% - The original archive title given by wordpress, e.g. "2007" or "2007 August"', 'all-in-one-seo-pack' ) . '</li><li>' .
|
140 |
+
__( '%day% - The original archive day given by wordpress, e.g. "17"', 'all-in-one-seo-pack' ) . '</li><li>' .
|
141 |
+
__( '%month% - The original archive month given by wordpress, e.g. "August"', 'all-in-one-seo-pack' ) . '</li><li>' .
|
142 |
+
__( '%year% - The original archive year given by wordpress, e.g. "2007"', 'all-in-one-seo-pack' ) . '</li></ul>',
|
143 |
"author_title_format" =>
|
144 |
+
__( "This controls the format of the title tag for Author Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
|
145 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
146 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
147 |
+
__( '%author% - The original archive title given by wordpress, e.g. "Steve" or "John Smith"', 'all-in-one-seo-pack' ) . '</li></ul>',
|
148 |
"tag_title_format" =>
|
149 |
+
__( "This controls the format of the title tag for Tag Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
|
150 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
151 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
152 |
+
__( '%tag% - The name of the tag', 'all-in-one-seo-pack' ) . '</li></ul>',
|
153 |
"search_title_format" =>
|
154 |
+
__( "This controls the format of the title tag for the Search page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
|
155 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
156 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
157 |
+
__( '%search% - What was searched for', 'all-in-one-seo-pack' ) . '</li></ul>',
|
158 |
+
"description_format" => __( "This controls the format of Meta Descriptions.The following macros are supported:", 'all-in-one-seo-pack' ) .
|
159 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
160 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
161 |
+
__( '%description% - The original description as determined by the plugin, e.g. the excerpt if one is set or an auto-generated one if that option is set', 'all-in-one-seo-pack' ) . '</li><li>' .
|
162 |
+
__( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
|
163 |
+
__( '%wp_title% - The original wordpress title, e.g. post_title for posts', 'all-in-one-seo-pack' ) . '</li></ul>',
|
164 |
+
"404_title_format" => __( "This controls the format of the title tag for the 404 page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
|
165 |
+
'<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
166 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
167 |
+
__( '%request_url% - The original URL path, like "/url-that-does-not-exist/"', 'all-in-one-seo-pack' ) . '</li><li>' .
|
168 |
+
__( '%request_words% - The URL path in human readable form, like "Url That Does Not Exist"', 'all-in-one-seo-pack' ) . '</li><li>' .
|
169 |
+
__( '%404_title% - Additional 404 title input"', 'all-in-one-seo-pack' ) . '</li></ul>',
|
170 |
+
"paged_format" => __( "This string gets appended/prepended to titles of paged index pages (like home or archive pages).", 'all-in-one-seo-pack' )
|
171 |
+
. __( 'The following macros are supported:', 'all-in-one-seo-pack' )
|
172 |
+
. '<ul><li>' . __( '%page% - The page number', 'all-in-one-seo-pack' ) . '</li></ul>',
|
173 |
+
"enablecpost" => __( "Check this if you want to use All in One SEO Pack with any Custom Post Types on this site.", 'all-in-one-seo-pack' ),
|
174 |
+
"cpostadvanced" => __( "This will show or hide the advanced options for SEO for Custom Post Types.", 'all-in-one-seo-pack' ),
|
175 |
+
"cpostactive" => __( "Use these checkboxes to select which Post Types you want to use All in One SEO Pack with.", 'all-in-one-seo-pack' ),
|
176 |
+
"cposttitles" => __( "This allows you to set the title tags for each Custom Post Type.", 'all-in-one-seo-pack' ),
|
177 |
+
"posttypecolumns" => __( "This lets you select which screens display the SEO Title, SEO Keywords and SEO Description columns.", 'all-in-one-seo-pack' ),
|
178 |
+
"admin_bar" => __( "Check this to add All in One SEO Pack to the Admin Bar for easy access to your SEO settings.", 'all-in-one-seo-pack' ),
|
179 |
+
"custom_menu_order" => __( "Check this to move the All in One SEO Pack menu item to the top of your WordPress Dashboard menu.", 'all-in-one-seo-pack' ),
|
180 |
+
"google_verify" => __( "Enter your verification code here to verify your site with Google Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/google-webmaster-tools-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
|
181 |
+
"bing_verify" => __( "Enter your verification code here to verify your site with Bing Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/bing-webmaster-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
|
182 |
+
"pinterest_verify" => __( "Enter your verification code here to verify your site with Pinterest.<br /><a href='http://semperplugins.com/documentation/pinterest-site-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
|
183 |
+
"google_publisher" => __( "Enter your Google+ Profile URL here to add the rel=“author” tag to your site for Google authorship. It is recommended that the URL you enter here should be your personal Google+ profile. Use the Advanced Authorship Options below if you want greater control over the use of authorship.", 'all-in-one-seo-pack' ),
|
184 |
+
"google_disable_profile"=> __( "Check this to remove the Google Plus field from the user profile screen.", 'all-in-one-seo-pack' ),
|
185 |
+
"google_author_advanced"=> __( "Enable this to display advanced options for controlling Google Plus authorship information on your website.", 'all-in-one-seo-pack' ),
|
186 |
+
"google_author_location"=> __( "This option allows you to control which types of pages you want to display rel=\"author\" on for Google authorship. The options include the Front Page (the homepage of your site), Posts, Pages, and any Custom Post Types. The Everywhere Else option includes 404, search, categories, tags, custom taxonomies, date archives, author archives and any other page template.", 'all-in-one-seo-pack' ),
|
187 |
+
"google_enable_publisher"=> __( "This option allows you to control whether rel=\"publisher\" is displayed on the homepage of your site. Google recommends using this if the site is a business website.", 'all-in-one-seo-pack' ),
|
188 |
+
"google_specify_publisher"=> __( "The Google+ profile you enter here will appear on your homepage only as the rel=\"publisher\" tag. It is recommended that the URL you enter here should be the Google+ profile for your business.", 'all-in-one-seo-pack' ),
|
189 |
+
"google_sitelinks_search"=> __( "Add markup to display the Google Sitelinks Search Box next to your search results in Google.", 'all-in-one-seo-pack' ),
|
190 |
+
"google_set_site_name" => __( "Add markup to tell Google the preferred name for your website.", 'all-in-one-seo-pack' ),
|
191 |
+
"google_connect" => __( "Press the connect button to connect with Google Analytics; or if already connected, press the disconnect button to disable and remove any stored analytics credentials.", 'all-in-one-seo-pack' ),
|
192 |
+
"google_analytics_id" => __( "Enter your Google Analytics ID here to track visitor behavior on your site using Google Analytics.", 'all-in-one-seo-pack' ),
|
193 |
+
"ga_use_universal_analytics" => __( "Use the new Universal Analytics tracking code for Google Analytics.", 'all-in-one-seo-pack' ),
|
194 |
+
"ga_advanced_options" => __( "Check to use advanced Google Analytics options.", 'all-in-one-seo-pack' ),
|
195 |
+
"ga_domain" => __( "Enter your domain name without the http:// to set your cookie domain.", 'all-in-one-seo-pack' ),
|
196 |
+
"ga_multi_domain" => __( "Use this option to enable tracking of multiple or additional domains.", 'all-in-one-seo-pack' ),
|
197 |
+
"ga_addl_domains" => __( "Add a list of additional domains to track here. Enter one domain name per line without the http://.", 'all-in-one-seo-pack' ),
|
198 |
+
"ga_anonymize_ip" => __( "This enables support for IP Anonymization in Google Analytics.", 'all-in-one-seo-pack' ),
|
199 |
+
"ga_display_advertising"=> __( "This enables support for the Display Advertiser Features in Google Analytics.", 'all-in-one-seo-pack' ),
|
200 |
+
"ga_exclude_users" => __( "Exclude logged-in users from Google Analytics tracking by role.", 'all-in-one-seo-pack' ),
|
201 |
+
"ga_track_outbound_links"=> __( "Check this if you want to track outbound links with Google Analytics.", 'all-in-one-seo-pack' ),
|
202 |
+
"ga_link_attribution"=> __( "This enables support for the Enhanced Link Attribution in Google Analytics.", 'all-in-one-seo-pack' ),
|
203 |
+
"ga_enhanced_ecommerce" => __( "This enables support for the Enhanced Ecommerce in Google Analytics.", 'all-in-one-seo-pack' ),
|
204 |
+
"cpostnoindex" => __( "Set the default NOINDEX setting for each Post Type.", 'all-in-one-seo-pack' ),
|
205 |
+
"cpostnofollow" => __( "Set the default NOFOLLOW setting for each Post Type.", 'all-in-one-seo-pack' ),
|
206 |
+
"category_noindex" => __( "Check this to ask search engines not to index Category Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
207 |
+
"archive_date_noindex" => __( "Check this to ask search engines not to index Date Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
208 |
+
"archive_author_noindex"=> __( "Check this to ask search engines not to index Author Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
209 |
+
"tags_noindex" => __( "Check this to ask search engines not to index Tag Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
210 |
+
"search_noindex" => __( "Check this to ask search engines not to index the Search page. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
211 |
+
"404_noindex" => __( "Check this to ask search engines not to index the 404 page.", 'all-in-one-seo-pack' ),
|
212 |
+
"tax_noindex" => __( "Check this to ask search engines not to index custom Taxonomy archive pages. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
213 |
+
"paginated_noindex" => __( "Check this to ask search engines not to index paginated pages/posts. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
214 |
+
"paginated_nofollow" => __( "Check this to ask search engines not to follow links from paginated pages/posts. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
|
215 |
+
'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for your entire site.', 'all-in-one-seo-pack' ),
|
216 |
+
'cpostnoodp' => __( "Set the default noodp setting for each Post Type.", 'all-in-one-seo-pack' ),
|
217 |
+
'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for your entire site.', 'all-in-one-seo-pack' ),
|
218 |
+
'cpostnoydir' => __( "Set the default noydir setting for each Post Type.", 'all-in-one-seo-pack' ),
|
219 |
+
"skip_excerpt" => __( "Check this and your Meta Descriptions won't be generated from the excerpt.", 'all-in-one-seo-pack' ),
|
220 |
+
"generate_descriptions" => __( "Check this and your Meta Descriptions will be auto-generated from your excerpt or content.", 'all-in-one-seo-pack' ),
|
221 |
+
"run_shortcodes" => __( "Check this and shortcodes will get executed for descriptions auto-generated from content.", 'all-in-one-seo-pack' ),
|
222 |
+
"hide_paginated_descriptions"=> __( "Check this and your Meta Descriptions will be removed from page 2 or later of paginated content.", 'all-in-one-seo-pack' ),
|
223 |
+
"dont_truncate_descriptions"=> __( "Check this to prevent your Description from being truncated regardless of its length.", 'all-in-one-seo-pack' ),
|
224 |
+
"schema_markup"=> __( "Check this to support Schema.org markup, i.e., itemprop on supported metadata.", 'all-in-one-seo-pack' ),
|
225 |
+
"unprotect_meta" => __( "Check this to unprotect internal postmeta fields for use with XMLRPC. If you don't know what that is, leave it unchecked.", 'all-in-one-seo-pack' ),
|
226 |
+
"ex_pages" => __( "Enter a comma separated list of pages here to be excluded by All in One SEO Pack. This is helpful when using plugins which generate their own non-WordPress dynamic pages. Ex: <em>/forum/, /contact/</em> For instance, if you want to exclude the virtual pages generated by a forum plugin, all you have to do is add forum or /forum or /forum/ or and any URL with the word \"forum\" in it, such as http://mysite.com/forum or http://mysite.com/forum/someforumpage here and it will be excluded from All in One SEO Pack.", 'all-in-one-seo-pack' ),
|
227 |
+
"post_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Posts. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
|
228 |
+
"page_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Pages. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
|
229 |
+
"front_meta_tags" => __( "What you enter here will be copied verbatim to the header of the front page if you have set a static page in Settings, Reading, Front Page Displays. You can enter whatever additional headers you want here, even references to stylesheets. This will fall back to using Additional Page Headers if you have them set and nothing is entered here.", 'all-in-one-seo-pack' ),
|
230 |
+
"home_meta_tags" => __( "What you enter here will be copied verbatim to the header of the home page if you have Front page displays your latest posts selected in Settings, Reading. It will also be copied verbatim to the header on the Posts page if you have one set in Settings, Reading. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
|
231 |
);
|
232 |
|
233 |
$this->help_anchors = Array(
|
300 |
);
|
301 |
|
302 |
$meta_help_text = Array(
|
303 |
+
'snippet' => __( 'A preview of what this page might look like in search engine results.', 'all-in-one-seo-pack' ),
|
304 |
+
'title' => __( 'A custom title that shows up in the title tag for this page.', 'all-in-one-seo-pack' ),
|
305 |
+
'description' => __( 'The META description for this page. This will override any autogenerated descriptions.', 'all-in-one-seo-pack' ),
|
306 |
+
'keywords' => __( 'A comma separated list of your most important keywords for this page that will be written as META keywords.', 'all-in-one-seo-pack' ),
|
307 |
+
'custom_link' => __( "Override the canonical URLs for this post.", 'all-in-one-seo-pack'),
|
308 |
+
'noindex' => __( 'Check this box to ask search engines not to index this page.', 'all-in-one-seo-pack' ),
|
309 |
+
'nofollow' => __( 'Check this box to ask search engines not to follow links from this page.', 'all-in-one-seo-pack' ),
|
310 |
+
'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for this page.', 'all-in-one-seo-pack' ),
|
311 |
+
'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for this page.', 'all-in-one-seo-pack' ),
|
312 |
+
'titleatr' => __( 'Set the title attribute for menu links.', 'all-in-one-seo-pack' ),
|
313 |
+
'menulabel' => __( 'Set the label for this page menu item.', 'all-in-one-seo-pack' ),
|
314 |
+
'sitemap_exclude' => __( "Don't display this page in the sitemap.", 'all-in-one-seo-pack' ),
|
315 |
+
'disable' => __( 'Disable SEO on this page.', 'all-in-one-seo-pack' ),
|
316 |
+
'disable_analytics' => __( 'Disable Google Analytics on this page.', 'all-in-one-seo-pack' )
|
317 |
);
|
318 |
|
319 |
$this->default_options = array(
|
320 |
"donate" => Array(
|
321 |
+
'name' => __( 'I enjoy this plugin and have made a donation:', 'all-in-one-seo-pack' ) ),
|
322 |
"home_title"=> Array(
|
323 |
+
'name' => __( 'Home Title:', 'all-in-one-seo-pack' ),
|
324 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
325 |
'count' => true, 'rows' => 1, 'cols' => 60,
|
326 |
'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
|
327 |
"home_description"=> Array(
|
328 |
+
'name' => __( 'Home Description:', 'all-in-one-seo-pack' ),
|
329 |
'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
|
330 |
'count' => true, 'cols' => 80, 'rows' => 2,
|
331 |
'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
|
332 |
"togglekeywords" => Array(
|
333 |
+
'name' => __( 'Use Keywords:', 'all-in-one-seo-pack' ),
|
334 |
'default' => 0,
|
335 |
'type' => 'radio',
|
336 |
+
'initial_options' => Array( 0 => __( 'Enabled', 'all-in-one-seo-pack' ),
|
337 |
+
1 => __( 'Disabled', 'all-in-one-seo-pack' ) )
|
338 |
),
|
339 |
"home_keywords"=> Array(
|
340 |
+
'name' => __( 'Home Keywords (comma separated):', 'all-in-one-seo-pack' ),
|
341 |
'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
|
342 |
'condshow' => Array( "aiosp_togglekeywords" => 0, "aiosp_use_static_home_info" => 0 ) ),
|
343 |
"use_static_home_info" => Array(
|
344 |
+
'name' => __( "Use Static Front Page Instead", 'all-in-one-seo-pack' ),
|
345 |
'default' => 0,
|
346 |
'type' => 'radio',
|
347 |
+
'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
|
348 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
|
349 |
),
|
350 |
"can"=> Array(
|
351 |
+
'name' => __( 'Canonical URLs:', 'all-in-one-seo-pack' ),
|
352 |
'default' => 1),
|
353 |
"no_paged_canonical_links"=> Array(
|
354 |
+
'name' => __( 'No Pagination for Canonical URLs:', 'all-in-one-seo-pack' ),
|
355 |
'default' => 0,
|
356 |
'condshow' => Array( "aiosp_can" => 'on' ) ),
|
357 |
"customize_canonical_links" => Array(
|
358 |
+
'name' => __( 'Enable Custom Canonical URLs:', 'all-in-one-seo-pack' ),
|
359 |
'default' => 0,
|
360 |
'condshow' => Array( "aiosp_can" => 'on' ) ),
|
361 |
"can_set_protocol" => Array(
|
362 |
+
'name' => __( 'Set Protocol For Canonical URLs:', 'all-in-one-seo-pack' ),
|
363 |
'type' => 'radio',
|
364 |
'default' => 'auto',
|
365 |
+
'initial_options' => Array( 'auto' => __( 'Auto', 'all-in-one-seo-pack' ),
|
366 |
+
'http' => __( 'HTTP', 'all-in-one-seo-pack' ),
|
367 |
+
'https' => __( 'HTTPS', 'all-in-one-seo-pack' ) ),
|
368 |
'condshow' => Array( "aiosp_can" => 'on' )
|
369 |
),
|
370 |
"rewrite_titles"=> Array(
|
371 |
+
'name' => __( 'Rewrite Titles:', 'all-in-one-seo-pack' ),
|
372 |
'default' => 1,
|
373 |
'type' => 'radio',
|
374 |
+
'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
|
375 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
|
376 |
),
|
377 |
"force_rewrites"=> Array(
|
378 |
+
'name' => __( 'Force Rewrites:', 'all-in-one-seo-pack' ),
|
379 |
'default' => 1,
|
380 |
'type' => 'hidden',
|
381 |
'prefix' => $this->prefix,
|
382 |
+
'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
|
383 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
|
384 |
),
|
385 |
"use_original_title"=> Array(
|
386 |
+
'name' => __( 'Use Original Title:', 'all-in-one-seo-pack' ),
|
387 |
'type' => 'radio',
|
388 |
'default' => 0,
|
389 |
+
'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
|
390 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
|
391 |
),
|
392 |
"cap_titles"=> Array(
|
393 |
+
'name' => __( 'Capitalize Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
|
394 |
"cap_cats"=> Array(
|
395 |
+
'name' => __( 'Capitalize Category Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
|
396 |
"home_page_title_format"=> Array(
|
397 |
+
'name' => __( 'Home Page Title Format:', 'all-in-one-seo-pack' ),
|
398 |
'type' => 'text', 'default' => '%page_title%',
|
399 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
400 |
"page_title_format"=> Array(
|
401 |
+
'name' => __( 'Page Title Format:', 'all-in-one-seo-pack' ),
|
402 |
'type' => 'text', 'default' => '%page_title% | %blog_title%',
|
403 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
404 |
"post_title_format"=> Array(
|
405 |
+
'name' => __( 'Post Title Format:', 'all-in-one-seo-pack' ),
|
406 |
'type' => 'text', 'default' => '%post_title% | %blog_title%',
|
407 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
408 |
"category_title_format"=> Array(
|
409 |
+
'name' => __( 'Category Title Format:', 'all-in-one-seo-pack' ),
|
410 |
'type' => 'text', 'default' => '%category_title% | %blog_title%',
|
411 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
412 |
"archive_title_format"=> Array(
|
413 |
+
'name' => __( 'Archive Title Format:', 'all-in-one-seo-pack' ),
|
414 |
'type' => 'text', 'default' => '%archive_title% | %blog_title%',
|
415 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
416 |
"date_title_format"=> Array(
|
417 |
+
'name' => __( 'Date Archive Title Format:', 'all-in-one-seo-pack' ),
|
418 |
'type' => 'text', 'default' => '%date% | %blog_title%',
|
419 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
420 |
"author_title_format"=> Array(
|
421 |
+
'name' => __( 'Author Archive Title Format:', 'all-in-one-seo-pack' ),
|
422 |
'type' => 'text', 'default' => '%author% | %blog_title%',
|
423 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
424 |
"tag_title_format"=> Array(
|
425 |
+
'name' => __( 'Tag Title Format:', 'all-in-one-seo-pack' ),
|
426 |
'type' => 'text', 'default' => '%tag% | %blog_title%',
|
427 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
428 |
"search_title_format"=> Array(
|
429 |
+
'name' => __( 'Search Title Format:', 'all-in-one-seo-pack' ),
|
430 |
'type' => 'text', 'default' => '%search% | %blog_title%',
|
431 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
432 |
"description_format"=> Array(
|
433 |
+
'name' => __( 'Description Format', 'all-in-one-seo-pack' ),
|
434 |
'type' => 'text', 'default' => '%description%',
|
435 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
436 |
"404_title_format"=> Array(
|
437 |
+
'name' => __( '404 Title Format:', 'all-in-one-seo-pack' ),
|
438 |
'type' => 'text', 'default' => 'Nothing found for %request_words%',
|
439 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
440 |
"paged_format"=> Array(
|
441 |
+
'name' => __( 'Paged Format:', 'all-in-one-seo-pack' ),
|
442 |
'type' => 'text', 'default' => ' - Part %page%',
|
443 |
'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
|
444 |
"enablecpost"=> Array(
|
445 |
+
'name' => __( 'SEO for Custom Post Types:', 'all-in-one-seo-pack' ),
|
446 |
'default' => 'on',
|
447 |
'type' => 'radio',
|
448 |
+
'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
|
449 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
|
450 |
),
|
451 |
"cpostactive" => Array(
|
452 |
+
'name' => __( 'SEO on only these post types:', 'all-in-one-seo-pack' ),
|
453 |
'type' => 'multicheckbox', 'default' => array('post', 'page'),
|
454 |
'condshow' => Array( 'aiosp_enablecpost' => 'on' )
|
455 |
),
|
456 |
"cpostadvanced" => Array(
|
457 |
+
'name' => __( 'Enable Advanced Options:', 'all-in-one-seo-pack' ),
|
458 |
'default' => 0, 'type' => 'radio',
|
459 |
+
'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
|
460 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
|
461 |
'label' => null,
|
462 |
'condshow' => Array( "aiosp_enablecpost" => 'on' )
|
463 |
),
|
464 |
"cpostnoindex" => Array(
|
465 |
+
'name' => __( 'Default to NOINDEX:', 'all-in-one-seo-pack' ),
|
466 |
'type' => 'multicheckbox', 'default' => array(),
|
467 |
+
'condshow' => Array( 'aiosp_enablecpost' => 'on' )
|
468 |
),
|
469 |
"cpostnofollow" => Array(
|
470 |
+
'name' => __( 'Default to NOFOLLOW:', 'all-in-one-seo-pack' ),
|
471 |
'type' => 'multicheckbox', 'default' => array(),
|
472 |
+
'condshow' => Array( 'aiosp_enablecpost' => 'on' )
|
473 |
),
|
474 |
"cpostnoodp"=> Array(
|
475 |
+
'name' => __( 'Default to NOODP:', 'all-in-one-seo-pack' ),
|
476 |
'type' => 'multicheckbox', 'default' => array(),
|
477 |
+
'condshow' => Array( 'aiosp_enablecpost' => 'on' )
|
478 |
),
|
479 |
"cpostnoydir"=> Array(
|
480 |
+
'name' => __( 'Default to NOYDIR:', 'all-in-one-seo-pack' ),
|
481 |
'type' => 'multicheckbox', 'default' => array(),
|
482 |
+
'condshow' => Array( 'aiosp_enablecpost' => 'on' )
|
483 |
),
|
484 |
"cposttitles" => Array(
|
485 |
+
'name' => __( 'Custom titles:', 'all-in-one-seo-pack' ),
|
486 |
'type' => 'checkbox', 'default' => 0,
|
487 |
'condshow' => Array( "aiosp_rewrite_titles" => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
|
488 |
),
|
489 |
"posttypecolumns" => Array(
|
490 |
+
'name' => __( 'Show Column Labels for Custom Post Types:', 'all-in-one-seo-pack' ),
|
491 |
'type' => 'multicheckbox', 'default' => array('post', 'page') ),
|
492 |
"admin_bar" => Array(
|
493 |
+
'name' => __( 'Display Menu In Admin Bar:', 'all-in-one-seo-pack' ), 'default' => 'on',
|
494 |
),
|
495 |
"custom_menu_order" => Array(
|
496 |
+
'name' => __( 'Display Menu At The Top:', 'all-in-one-seo-pack' ), 'default' => 'on',
|
497 |
),
|
498 |
"google_verify" => Array(
|
499 |
+
'name' => __( 'Google Webmaster Tools:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
|
500 |
),
|
501 |
"bing_verify" => Array(
|
502 |
+
'name' => __( 'Bing Webmaster Center:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
|
503 |
),
|
504 |
"pinterest_verify" => Array(
|
505 |
+
'name' => __( 'Pinterest Site Verification:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
|
506 |
),
|
507 |
"google_publisher"=> Array(
|
508 |
+
'name' => __( 'Google Plus Default Profile:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
|
509 |
),
|
510 |
"google_disable_profile"=> Array(
|
511 |
+
'name' => __( 'Disable Google Plus Profile:', 'all-in-one-seo-pack' ), 'default' => 0, 'type' => 'checkbox'
|
512 |
),
|
513 |
"google_sitelinks_search" => Array(
|
514 |
+
'name' => __( 'Display Sitelinks Search Box:', 'all-in-one-seo-pack' )
|
515 |
),
|
516 |
"google_set_site_name" => Array(
|
517 |
+
'name' => __( 'Set Preferred Site Name:', 'all-in-one-seo-pack' )
|
518 |
),
|
519 |
"google_specify_site_name" => Array(
|
520 |
+
'name' => __( 'Specify A Preferred Name:', 'all-in-one-seo-pack' ),
|
521 |
'type' => 'text',
|
522 |
'placeholder' => $blog_name,
|
523 |
'condshow' => Array( 'aiosp_google_set_site_name' => 'on' )
|
524 |
),
|
525 |
"google_author_advanced" => Array(
|
526 |
+
'name' => __( 'Advanced Authorship Options:', 'all-in-one-seo-pack' ),
|
527 |
'default' => 0, 'type' => 'radio',
|
528 |
+
'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
|
529 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
|
530 |
'label' => null
|
531 |
),
|
532 |
"google_author_location"=> Array(
|
533 |
+
'name' => __( 'Display Google Authorship:', 'all-in-one-seo-pack' ), 'default' => array( 'all' ), 'type' => 'multicheckbox',
|
534 |
'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
|
535 |
),
|
536 |
"google_enable_publisher" => Array(
|
537 |
+
'name' => __( 'Display Publisher Meta on Front Page:', 'all-in-one-seo-pack' ),
|
538 |
'default' => 'on', 'type' => 'radio',
|
539 |
+
'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
|
540 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
|
541 |
'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
|
542 |
),
|
543 |
"google_specify_publisher" => Array(
|
544 |
+
'name' => __( 'Specify Publisher URL:', 'all-in-one-seo-pack' ), 'type' => 'text',
|
545 |
'condshow' => Array( 'aiosp_google_author_advanced' => 'on', 'aiosp_google_enable_publisher' => 'on' )
|
546 |
),
|
547 |
+
// "google_connect"=>Array( 'name' => __( 'Connect With Google Analytics', 'all-in-one-seo-pack' ), ),
|
548 |
"google_analytics_id"=> Array(
|
549 |
+
'name' => __( 'Google Analytics ID:', 'all-in-one-seo-pack' ),
|
550 |
'default' => null, 'type' => 'text', 'placeholder' => 'UA-########-#' ),
|
551 |
"ga_use_universal_analytics" => Array(
|
552 |
+
'name' => __( 'Use Universal Analytics:', 'all-in-one-seo-pack' ),
|
553 |
'default' => 0,
|
554 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
|
555 |
"ga_advanced_options"=> Array(
|
556 |
+
'name' => __( 'Advanced Analytics Options:', 'all-in-one-seo-pack' ),
|
557 |
'default' => 'on',
|
558 |
'type' => 'radio',
|
559 |
+
'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
|
560 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
|
561 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
|
562 |
"ga_domain"=> Array(
|
563 |
+
'name' => __( 'Tracking Domain:', 'all-in-one-seo-pack' ),
|
564 |
'type' => 'text',
|
565 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on') ),
|
566 |
"ga_multi_domain"=> Array(
|
567 |
+
'name' => __( 'Track Multiple Domains:', 'all-in-one-seo-pack' ),
|
568 |
'default' => 0,
|
569 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
570 |
"ga_addl_domains" => Array(
|
571 |
+
'name' => __( 'Additional Domains:', 'all-in-one-seo-pack' ),
|
572 |
'type' => 'textarea',
|
573 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on', 'aiosp_ga_multi_domain' => 'on' ) ),
|
574 |
"ga_anonymize_ip"=> Array(
|
575 |
+
'name' => __( 'Anonymize IP Addresses:', 'all-in-one-seo-pack' ),
|
576 |
'type' => 'checkbox',
|
577 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
578 |
"ga_display_advertising"=> Array(
|
579 |
+
'name' => __( 'Display Advertiser Tracking:', 'all-in-one-seo-pack' ),
|
580 |
'type' => 'checkbox',
|
581 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
582 |
"ga_exclude_users"=> Array(
|
583 |
+
'name' => __( 'Exclude Users From Tracking:', 'all-in-one-seo-pack' ),
|
584 |
'type' => 'multicheckbox',
|
585 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
586 |
"ga_track_outbound_links"=> Array(
|
587 |
+
'name' => __( 'Track Outbound Links:', 'all-in-one-seo-pack' ),
|
588 |
'default' => 0,
|
589 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
590 |
"ga_link_attribution"=> Array(
|
591 |
+
'name' => __( 'Enhanced Link Attribution:', 'all-in-one-seo-pack' ),
|
592 |
'default' => 0,
|
593 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
|
594 |
"ga_enhanced_ecommerce"=> Array(
|
595 |
+
'name' => __( 'Enhanced Ecommerce:', 'all-in-one-seo-pack' ),
|
596 |
'default' => 0,
|
597 |
'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_use_universal_analytics' => 'on', 'aiosp_ga_advanced_options' => 'on' ) ),
|
598 |
"use_categories"=> Array(
|
599 |
+
'name' => __( 'Use Categories for META keywords:', 'all-in-one-seo-pack' ),
|
600 |
'default' => 0,
|
601 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
602 |
"use_tags_as_keywords" => Array(
|
603 |
+
'name' => __( 'Use Tags for META keywords:', 'all-in-one-seo-pack' ),
|
604 |
'default' => 1,
|
605 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
606 |
"dynamic_postspage_keywords"=> Array(
|
607 |
+
'name' => __( 'Dynamically Generate Keywords for Posts Page/Archives:', 'all-in-one-seo-pack' ),
|
608 |
'default' => 1,
|
609 |
'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
|
610 |
"category_noindex"=> Array(
|
611 |
+
'name' => __( 'Use noindex for Categories:', 'all-in-one-seo-pack' ),
|
612 |
'default' => 1),
|
613 |
"archive_date_noindex"=> Array(
|
614 |
+
'name' => __( 'Use noindex for Date Archives:', 'all-in-one-seo-pack' ),
|
615 |
'default' => 1),
|
616 |
"archive_author_noindex"=> Array(
|
617 |
+
'name' => __( 'Use noindex for Author Archives:', 'all-in-one-seo-pack' ),
|
618 |
'default' => 1),
|
619 |
"tags_noindex"=> Array(
|
620 |
+
'name' => __( 'Use noindex for Tag Archives:', 'all-in-one-seo-pack' ),
|
621 |
'default' => 0),
|
622 |
"search_noindex"=> Array(
|
623 |
+
'name' => __( 'Use noindex for the Search page:', 'all-in-one-seo-pack' ),
|
624 |
'default' => 0),
|
625 |
"404_noindex"=> Array(
|
626 |
+
'name' => __( 'Use noindex for the 404 page:', 'all-in-one-seo-pack' ),
|
627 |
'default' => 0),
|
628 |
"tax_noindex"=> Array(
|
629 |
+
'name' => __( 'Use noindex for Taxonomy Archives:', 'all-in-one-seo-pack' ),
|
630 |
'type' => 'multicheckbox', 'default' => array(),
|
631 |
'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
|
632 |
),
|
633 |
"paginated_noindex" => Array(
|
634 |
+
'name' => __( 'Use noindex for paginated pages/posts:', 'all-in-one-seo-pack' ),
|
635 |
'default' => 0),
|
636 |
"paginated_nofollow"=> Array(
|
637 |
+
'name' => __( 'Use nofollow for paginated pages/posts:', 'all-in-one-seo-pack' ),
|
638 |
'default' => 0),
|
639 |
"noodp"=> Array(
|
640 |
+
'name' => __( 'Exclude site from the Open Directory Project:', 'all-in-one-seo-pack' ),
|
641 |
'default' => 0),
|
642 |
"noydir"=> Array(
|
643 |
+
'name' => __( 'Exclude site from Yahoo! Directory:', 'all-in-one-seo-pack' ),
|
644 |
'default' => 0),
|
645 |
"skip_excerpt"=> Array(
|
646 |
+
'name' => __( 'Avoid Using The Excerpt In Descriptions:', 'all-in-one-seo-pack' ),
|
647 |
'default' => 0 ),
|
648 |
"generate_descriptions"=> Array(
|
649 |
+
'name' => __( 'Autogenerate Descriptions:', 'all-in-one-seo-pack' ),
|
650 |
'default' => 1),
|
651 |
"run_shortcodes"=> Array(
|
652 |
+
'name' => __( 'Run Shortcodes In Autogenerated Descriptions:', 'all-in-one-seo-pack' ),
|
653 |
'default' => 0,
|
654 |
'condshow' => Array( 'aiosp_generate_descriptions' => 'on' ) ),
|
655 |
"hide_paginated_descriptions"=> Array(
|
656 |
+
'name' => __( 'Remove Descriptions For Paginated Pages:', 'all-in-one-seo-pack' ),
|
657 |
'default' => 0),
|
658 |
"dont_truncate_descriptions"=> Array(
|
659 |
+
'name' => __( 'Never Shorten Long Descriptions:', 'all-in-one-seo-pack' ),
|
660 |
'default' => 0),
|
661 |
"schema_markup"=> Array(
|
662 |
+
'name' => __( 'Use Schema.org Markup', 'all-in-one-seo-pack' ),
|
663 |
'default' => 1),
|
664 |
"unprotect_meta"=> Array(
|
665 |
+
'name' => __( 'Unprotect Post Meta Fields:', 'all-in-one-seo-pack' ),
|
666 |
'default' => 0),
|
667 |
"ex_pages" => Array(
|
668 |
+
'name' => __( 'Exclude Pages:', 'all-in-one-seo-pack' ),
|
669 |
'type' => 'textarea', 'default' => '' ),
|
670 |
"post_meta_tags"=> Array(
|
671 |
+
'name' => __( 'Additional Post Headers:', 'all-in-one-seo-pack' ),
|
672 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
673 |
"page_meta_tags"=> Array(
|
674 |
+
'name' => __( 'Additional Page Headers:', 'all-in-one-seo-pack' ),
|
675 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
676 |
"front_meta_tags"=> Array(
|
677 |
+
'name' => __( 'Additional Front Page Headers:', 'all-in-one-seo-pack' ),
|
678 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
679 |
"home_meta_tags"=> Array(
|
680 |
+
'name' => __( 'Additional Blog Page Headers:', 'all-in-one-seo-pack' ),
|
681 |
'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
|
682 |
"do_log"=> Array(
|
683 |
+
'name' => __( 'Log important events:', 'all-in-one-seo-pack' ),
|
684 |
'default' => null ),
|
685 |
);
|
686 |
|
693 |
'nonce-aioseop-edit' => Array( 'type' => 'hidden', 'default' => null, 'prefix' => false, 'nowrap' => 1 ),
|
694 |
'upgrade' => Array( 'type' => 'html', 'label' => 'none',
|
695 |
'default' => '<a target="__blank" href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=meta">'
|
696 |
+
. __( 'Upgrade to All in One SEO Pack Pro Version', 'all-in-one-seo-pack' ) . '</a>'
|
697 |
),
|
698 |
+
'snippet' => Array( 'name' => __( 'Preview Snippet', 'all-in-one-seo-pack' ), 'type' => 'custom', 'label' => 'top',
|
699 |
'default' => '
|
700 |
<script>
|
701 |
jQuery(document).ready(function() {
|
708 |
});
|
709 |
</script>
|
710 |
<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>' ),
|
711 |
+
'title' => Array( 'name' => __( 'Title', 'all-in-one-seo-pack' ), 'type' => 'text', 'count' => true, 'size' => 60 ),
|
712 |
+
'description' => Array( 'name' => __( 'Description', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'count' => true, 'cols' => 80, 'rows' => 2 ),
|
713 |
|
714 |
+
'keywords' => Array( 'name' => __( 'Keywords (comma separated)', 'all-in-one-seo-pack' ), 'type' => 'text' ),
|
715 |
+
'custom_link' => Array( 'name' => __( 'Custom Canonical URL', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
|
716 |
+
'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", 'all-in-one-seo-pack' ), 'default' => '' ),
|
717 |
+
'nofollow' => Array( 'name' => __( "Robots Meta NOFOLLOW", 'all-in-one-seo-pack' ), 'default' => '' ),
|
718 |
+
'noodp' => Array( 'name' => __( "Robots Meta NOODP", 'all-in-one-seo-pack' ) ),
|
719 |
+
'noydir' => Array( 'name' => __( "Robots Meta NOYDIR", 'all-in-one-seo-pack' ) ),
|
720 |
+
'titleatr' => Array( 'name' => __( 'Title Attribute', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
|
721 |
+
'menulabel' => Array( 'name' => __( 'Menu Label', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
|
722 |
+
'sitemap_exclude' => Array( 'name' => __( 'Exclude From Sitemap', 'all-in-one-seo-pack' ) ),
|
723 |
+
'disable' => Array( 'name' => __( 'Disable on this page/post', 'all-in-one-seo-pack' ) ),
|
724 |
+
'disable_analytics' => Array( 'name' => __( 'Disable Google Analytics', 'all-in-one-seo-pack' ), 'condshow' => Array( 'aiosp_disable' => 'on' ) ) ),
|
725 |
'display' => null )
|
726 |
);
|
727 |
|
731 |
|
732 |
$this->layout = Array(
|
733 |
'default' => Array(
|
734 |
+
'name' => __( 'General Settings', 'all-in-one-seo-pack' ),
|
735 |
'help_link' => 'http://semperplugins.com/documentation/general-settings/',
|
736 |
'options' => Array() // this is set below, to the remaining options -- pdb
|
737 |
),
|
738 |
'home' => Array(
|
739 |
+
'name' => __( 'Home Page Settings', 'all-in-one-seo-pack' ),
|
740 |
'help_link' => 'http://semperplugins.com/documentation/home-page-settings/',
|
741 |
'options' => Array( 'home_title', 'home_description', 'home_keywords', 'use_static_home_info' )
|
742 |
),
|
743 |
'keywords' => Array(
|
744 |
+
'name' => __( 'Keyword Settings', 'all-in-one-seo-pack' ),
|
745 |
'help_link' => 'http://semperplugins.com/documentation/keyword-settings/',
|
746 |
'options' => Array( "togglekeywords", "use_categories", "use_tags_as_keywords", "dynamic_postspage_keywords" )
|
747 |
),
|
748 |
'title' => Array(
|
749 |
+
'name' => __( 'Title Settings', 'all-in-one-seo-pack' ),
|
750 |
'help_link' => 'http://semperplugins.com/documentation/title-settings/',
|
751 |
'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",
|
752 |
"tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
|
753 |
),
|
754 |
'cpt' => Array(
|
755 |
+
'name' => __( 'Custom Post Type Settings', 'all-in-one-seo-pack' ),
|
756 |
'help_link' => 'http://semperplugins.com/documentation/custom-post-type-settings/',
|
757 |
'options' => Array( "enablecpost", "cpostadvanced", "cpostactive", "cposttitles" )
|
758 |
),
|
759 |
'display' => Array(
|
760 |
+
'name' => __( 'Display Settings', 'all-in-one-seo-pack' ),
|
761 |
'help_link' => 'http://semperplugins.com/documentation/display-settings/',
|
762 |
'options' => Array( "posttypecolumns", "admin_bar", "custom_menu_order" )
|
763 |
),
|
764 |
'webmaster' => Array(
|
765 |
+
'name' => __( 'Webmaster Verification', 'all-in-one-seo-pack' ),
|
766 |
'help_link' => 'http://semperplugins.com/sections/webmaster-verification/',
|
767 |
'options' => Array( "google_verify", "bing_verify", "pinterest_verify" )
|
768 |
),
|
769 |
'google' => Array(
|
770 |
+
'name' => __( 'Google Settings', 'all-in-one-seo-pack' ),
|
771 |
'help_link' => 'http://semperplugins.com/documentation/google-settings/',
|
772 |
'options' => Array( "google_publisher", "google_disable_profile", "google_sitelinks_search", "google_set_site_name", "google_specify_site_name", "google_author_advanced", "google_author_location", "google_enable_publisher" , "google_specify_publisher",
|
773 |
// "google_connect",
|
774 |
"google_analytics_id", "ga_use_universal_analytics", "ga_advanced_options", "ga_domain", "ga_multi_domain", "ga_addl_domains", "ga_anonymize_ip", "ga_display_advertising", "ga_exclude_users", "ga_track_outbound_links", "ga_link_attribution", "ga_enhanced_ecommerce" )
|
775 |
),
|
776 |
'noindex' => Array(
|
777 |
+
'name' => __( 'Noindex Settings', 'all-in-one-seo-pack' ),
|
778 |
'help_link' => 'http://semperplugins.com/documentation/noindex-settings/',
|
779 |
'options' => Array( 'cpostnoindex', 'cpostnofollow', 'cpostnoodp', 'cpostnoydir', 'category_noindex', 'archive_date_noindex', 'archive_author_noindex', 'tags_noindex', 'search_noindex', '404_noindex', 'tax_noindex', 'paginated_noindex', 'paginated_nofollow', 'noodp', 'noydir' )
|
780 |
),
|
781 |
'advanced' => Array(
|
782 |
+
'name' => __( 'Advanced Settings', 'all-in-one-seo-pack' ),
|
783 |
'help_link' => 'http://semperplugins.com/documentation/advanced-settings/',
|
784 |
'options' => Array( 'generate_descriptions', 'skip_excerpt', 'run_shortcodes', 'hide_paginated_descriptions', 'dont_truncate_descriptions', 'unprotect_meta', 'ex_pages', 'post_meta_tags', 'page_meta_tags', 'front_meta_tags', 'home_meta_tags' )
|
785 |
)
|
1078 |
$this->default_options["cpostnoodp"]['initial_options'] = $post_types;
|
1079 |
$this->default_options["cpostnoydir"]['initial_options'] = $post_types;
|
1080 |
$this->default_options["google_author_location"]['initial_options'] = $post_types;
|
1081 |
+
$this->default_options['google_author_location' ]['initial_options'] = array_merge( Array( 'front' => __( 'Front Page', 'all-in-one-seo-pack' ) ), $post_types, Array( 'all' => __( 'Everywhere Else', 'all-in-one-seo-pack' ) ) );
|
1082 |
$this->default_options["google_author_location"]['default'] = array_keys( $this->default_options["google_author_location"]['initial_options'] );
|
1083 |
|
1084 |
foreach ( $post_types as $p => $pt ) {
|
1086 |
$name = $post_objs[$p]->labels->singular_name;
|
1087 |
if ( !isset( $this->default_options[$field] ) ) {
|
1088 |
$this->default_options[$field] = Array (
|
1089 |
+
'name' => "$name " . __( 'Title Format:', 'all-in-one-seo-pack' ) . "<br />($p)",
|
1090 |
'type' => 'text',
|
1091 |
'default' => '%post_title% | %blog_title%',
|
1092 |
'condshow' => Array( 'aiosp_rewrite_titles' => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on', 'aiosp_cposttitles' => 'on', 'aiosp_cpostactive\[\]' => $p )
|
1093 |
);
|
1094 |
+
$this->help_text[$field] = __( 'The following macros are supported:', 'all-in-one-seo-pack' )
|
1095 |
+
. '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
|
1096 |
+
__( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
|
1097 |
+
__( '%post_title% - The original title of the post.', 'all-in-one-seo-pack' ) . '</li><li>';
|
1098 |
$taxes = get_object_taxonomies( $p, 'objects' );
|
1099 |
if ( !empty( $taxes ) )
|
1100 |
foreach( $taxes as $n => $t )
|
1101 |
+
$this->help_text[$field] .= sprintf( __( "%%tax_%s%% - This post's associated %s taxonomy title", 'all-in-one-seo-pack' ), $n, $t->label ) . '</li><li>';
|
1102 |
$this->help_text[$field] .=
|
1103 |
+
__( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
|
1104 |
+
__( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
|
1105 |
+
__( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
|
1106 |
+
__( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
|
1107 |
'</ul>';
|
1108 |
$this->help_anchors[$field] = '#custom-titles';
|
1109 |
$this->layout['cpt']['options'][] = $field;
|
1130 |
|
1131 |
function add_admin_pointers() {
|
1132 |
$this->pointers['aioseop_menu_220'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-aioseop_class',
|
1133 |
+
'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
|
1134 |
+
. '</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>',
|
1135 |
'pointer_edge' => 'top',
|
1136 |
'pointer_align' => 'left',
|
1137 |
'pointer_scope' => 'global'
|
1138 |
);
|
1139 |
$this->pointers['aioseop_welcome_220'] = Array( 'pointer_target' => '#aioseop_top_button',
|
1140 |
+
'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
|
1141 |
+
. '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New since 2.2: Control who accesses your site with the new Robots.txt Editor and File Editor modules! Enable them from the Feature Manager. Remember to review your settings, we have added some new ones!', 'all-in-one-seo-pack' ) . '</p>',
|
1142 |
'pointer_edge' => 'bottom',
|
1143 |
'pointer_align' => 'left',
|
1144 |
'pointer_scope' => 'local'
|
1157 |
}
|
1158 |
|
1159 |
function filter_submit( $submit ) {
|
1160 |
+
$submit['Submit_Default']['value'] = __( 'Reset General Settings to Defaults', 'all-in-one-seo-pack' ) . ' »';
|
1161 |
+
$submit['Submit_All_Default'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( 'Reset ALL Settings to Defaults', 'all-in-one-seo-pack' ) . ' »' );
|
1162 |
return $submit;
|
1163 |
}
|
1164 |
|
1219 |
$post_type = get_post_type( $post );
|
1220 |
if ( !empty( $this->options['aiosp_cpostnoindex'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoindex'] ) ) ) {
|
1221 |
$settings["{$prefix}noindex"]['type'] = 'select';
|
1222 |
+
$settings["{$prefix}noindex"]['initial_options'] = Array( '' => __( 'Default - noindex', 'all-in-one-seo-pack' ), 'off' => __( 'index', 'all-in-one-seo-pack' ), 'on' => __( 'noindex', 'all-in-one-seo-pack' ) );
|
1223 |
}
|
1224 |
if ( !empty( $this->options['aiosp_cpostnofollow'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnofollow'] ) ) ) {
|
1225 |
$settings["{$prefix}nofollow"]['type'] = 'select';
|
1226 |
+
$settings["{$prefix}nofollow"]['initial_options'] = Array( '' => __( 'Default - nofollow', 'all-in-one-seo-pack' ), 'off' => __( 'follow', 'all-in-one-seo-pack' ), 'on' => __( 'nofollow', 'all-in-one-seo-pack' ) );
|
1227 |
}
|
1228 |
if ( !empty( $this->options['aiosp_cpostnoodp'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoodp'] ) ) ) {
|
1229 |
$settings["{$prefix}noodp"]['type'] = 'select';
|
1230 |
+
$settings["{$prefix}noodp"]['initial_options'] = Array( '' => __( 'Default - noodp', 'all-in-one-seo-pack' ), 'off' => __( 'odp', 'all-in-one-seo-pack' ), 'on' => __( 'noodp', 'all-in-one-seo-pack' ) );
|
1231 |
}
|
1232 |
if ( !empty( $this->options['aiosp_cpostnoydir'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoydir'] ) ) ) {
|
1233 |
$settings["{$prefix}noydir"]['type'] = 'select';
|
1234 |
+
$settings["{$prefix}noydir"]['initial_options'] = Array( '' => __( 'Default - noydir', 'all-in-one-seo-pack' ), 'off' => __( 'ydir', 'all-in-one-seo-pack' ), 'on' => __( 'noydir', 'all-in-one-seo-pack' ) );
|
1235 |
}
|
1236 |
global $post;
|
1237 |
$info = $this->get_page_snippet_info();
|
1295 |
switch ( $meta['id'] ) {
|
1296 |
case "aioseop-about":
|
1297 |
?><div class="aioseop_metabox_text">
|
1298 |
+
<p><h2 style="display:inline;"><?php echo AIOSEOP_PLUGIN_NAME; ?></h2><?php sprintf( __( "by %s of %s.", 'all-in-one-seo-pack' ), 'Michael Torbert', '<a target="_blank" title="Semper Fi Web Design"
|
1299 |
href="http://semperfiwebdesign.com/">Semper Fi Web Design</a>' ); ?>.</p>
|
1300 |
<?php
|
1301 |
global $current_user;
|
1306 |
wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
|
1307 |
$qa['aioseop_reset_notices'] = 1;
|
1308 |
$url = '?' . build_query( $qa );
|
1309 |
+
echo '<p><a href="' . $url . '">' . __( "Reset Dismissed Notices", 'all-in-one-seo-pack' ) . '</a></p>';
|
1310 |
}
|
1311 |
?>
|
1312 |
<p>
|
1313 |
+
<strong><a target="_blank" title="<?php _e('Pro Version', 'all-in-one-seo-pack' ); ?>"
|
1314 |
href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=side">
|
1315 |
+
<?php _e('UPGRADE TO PRO VERSION', 'all-in-one-seo-pack' ); ?></a></strong></p>
|
1316 |
</div>
|
1317 |
<?php
|
1318 |
case "aioseop-donate":
|
1327 |
</div>
|
1328 |
|
1329 |
<div class="aioseop_metabox_feature">
|
1330 |
+
<a target="_blank" title="<?php _e( 'Donate', 'all-in-one-seo-pack' ); ?>"
|
1331 |
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">
|
1332 |
+
<img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/donate.jpg" alt="<?php _e('Donate with Paypal', 'all-in-one-seo-pack' ); ?>" /> </a>
|
1333 |
<a target="_blank" title="Amazon Wish List" href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web">
|
1334 |
+
<img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/amazon.jpg" alt="<?php _e('My Amazon Wish List', 'all-in-one-seo-pack' ); ?>" /> </a>
|
1335 |
+
<a target="_blank" title="<?php _e( 'Follow us on Facebook', 'all-in-one-seo-pack' ); ?>" href="http://www.facebook.com/pages/Semper-Fi-Web-Design/121878784498475"><span class="aioseop_follow_button aioseop_facebook_follow"></span></a>
|
1336 |
+
<a target="_blank" title="<?php _e( 'Follow us on Twitter', 'all-in-one-seo-pack' ); ?>" href="http://twitter.com/semperfidev/"><span class="aioseop_follow_button aioseop_twitter_follow"></span></a>
|
1337 |
</div>
|
1338 |
|
1339 |
</div>
|
1344 |
<div class="aioseop_metabox_text">
|
1345 |
<form action="http://semperfiwebdesign.us1.list-manage.com/subscribe/post?u=794674d3d54fdd912f961ef14&id=af0a96d3d9"
|
1346 |
method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
|
1347 |
+
<h2><?php _e( 'Join our mailing list for tips, tricks, and WordPress secrets.', 'all-in-one-seo-pack' ); ?></h2>
|
1348 |
+
<p><i><?php _e( 'Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress ($39 value).', 'all-in-one-seo-pack' ); ?></i></p>
|
1349 |
<p><input type="text" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Email Address">
|
1350 |
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="btn"></p>
|
1351 |
</form>
|
1354 |
break;
|
1355 |
case "aioseop-support":
|
1356 |
?><div class="aioseop_metabox_text">
|
1357 |
+
<p><div class="aioseop_icon aioseop_file_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/"><?php _e( 'Read the All in One SEO Pack user guide', 'all-in-one-seo-pack' ); ?></a></p>
|
1358 |
+
<p><div class="aioseop_icon aioseop_support_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Support Forum', 'all-in-one-seo-pack' ); ?>"
|
1359 |
+
href="http://semperplugins.com/support/"><?php _e( 'Access our Premium Support Forums', 'all-in-one-seo-pack' ); ?></a></p>
|
1360 |
+
<p><div class="aioseop_icon aioseop_cog_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Changelog', 'all-in-one-seo-pack' ); ?>"
|
1361 |
+
href="http://semperfiwebdesign.com/blog/all-in-one-seo-pack/all-in-one-seo-pack-release-history/"><?php _e( 'View the Changelog', 'all-in-one-seo-pack' ); ?></a></p>
|
1362 |
+
<p><div class="aioseop_icon aioseop_youtube_icon"></div><a target="_blank" href="http://semperplugins.com/doc-type/video/"><?php _e( 'Watch video tutorials', 'all-in-one-seo-pack' ); ?></a></p>
|
1363 |
+
<p><div class="aioseop_icon aioseop_book_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/quick-start-guide/"><?php _e( 'Getting started? Read the Beginners Guide', 'all-in-one-seo-pack' ); ?></a></p>
|
1364 |
</div>
|
1365 |
<?php
|
1366 |
break;
|
1446 |
|
1447 |
function init() {
|
1448 |
if ( !defined( 'WP_PLUGIN_DIR' ) ) {
|
1449 |
+
load_plugin_textdomain( 'all-in-one-seo-pack', str_replace( ABSPATH, '', dirname( __FILE__ ) ) );
|
1450 |
} else {
|
1451 |
+
load_plugin_textdomain( 'all-in-one-seo-pack', false, AIOSEOP_PLUGIN_DIRNAME );
|
1452 |
}
|
1453 |
}
|
1454 |
|
1772 |
static $aioseop_dup_counter = 0;
|
1773 |
$aioseop_dup_counter++;
|
1774 |
if ( $aioseop_dup_counter > 1 ) {
|
1775 |
+
echo "\n<!-- " . sprintf( __( "Debug Warning: All in One SEO Pack meta data was included again from %s filter. Called %s times!", 'all-in-one-seo-pack' ), current_filter(), $aioseop_dup_counter ) . " -->\n";
|
1776 |
return;
|
1777 |
}
|
1778 |
if ( is_home() && !is_front_page() ) {
|
2024 |
$this->default_options["google_connect"]["type"] = 'html';
|
2025 |
$this->default_options["google_connect"]["nolabel"] = 1;
|
2026 |
$this->default_options["google_connect"]["save"] = true;
|
2027 |
+
$this->default_options["google_connect"]["name"] = __( 'Disconnect From Google Analytics', 'all-in-one-seo-pack' );
|
2028 |
+
$this->default_options["google_connect"]["default"] = "<input name='aiosp_google_connect' type=submit class='button-primary' value='" . __( 'Remove Stored Credentials', 'all-in-one-seo-pack' ) . "'>";
|
2029 |
add_filter( $this->prefix . 'override_options', Array( $this, 'override_options' ), 10, 3 );
|
2030 |
} else {
|
2031 |
$this->default_options["google_connect"]["type"] = 'html';
|
2032 |
$this->default_options["google_connect"]["nolabel"] = 1;
|
2033 |
$this->default_options["google_connect"]["save"] = false;
|
2034 |
$url = $this->oauth_connect();
|
2035 |
+
$this->default_options["google_connect"]["default"] = "<a href='{$url}' class='button-primary'>" . __( 'Connect With Google Analytics', 'all-in-one-seo-pack' ) . "</a>";
|
2036 |
foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
|
2037 |
if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
|
2038 |
}
|
2047 |
|
2048 |
function oauth_get_data( $oauth_url, $args = null ) {
|
2049 |
if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
|
2050 |
+
if ( $args === null ) $args = Array( 'scope' => 'https://www.googleapis.com/auth/analytics.readonly', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
|
2051 |
$req_token = new OAuthConsumer( $this->token, $this->secret );
|
2052 |
$req = $this->oauth_get_creds( $oauth_url, $req_token, $args );
|
2053 |
return wp_remote_get( $req->to_url() );
|
2065 |
|
2066 |
function oauth_get_token( $oauth_verifier ) {
|
2067 |
if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
|
2068 |
+
$args = Array( 'scope' => 'https://www.google.com/analytics/feeds/', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
|
2069 |
$args['oauth_verifier'] = $oauth_verifier;
|
2070 |
$oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
|
2071 |
$reqData = $this->oauth_get_data( $oauth_access_token, $args );
|
2097 |
}
|
2098 |
$args = array(
|
2099 |
'scope' => 'https://www.google.com/analytics/feeds/',
|
2100 |
+
'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack')
|
2101 |
);
|
2102 |
$req_req = $this->oauth_get_creds( $oauth_request_token, NULL, $args, admin_url( "admin.php?page=all-in-one-seo-pack/aioseop_class.php" ) );
|
2103 |
$reqData = wp_remote_get( $req_req->to_url() );
|
3119 |
return $keywords;
|
3120 |
}
|
3121 |
|
3122 |
+
function get_all_terms( $id, $taxonomy ) {
|
3123 |
$keywords = Array();
|
3124 |
+
$terms = get_the_terms( $id, $taxonomy );
|
3125 |
if ( !empty( $terms ) )
|
3126 |
foreach ( $terms as $term )
|
3127 |
$keywords[] = $this->internationalize( $term->name );
|
3283 |
if ( empty( $url ) )
|
3284 |
$url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
|
3285 |
|
3286 |
+
$wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'SEO', 'all-in-one-seo-pack' ), 'href' => $url ) );
|
3287 |
if ( current_user_can( 'update_plugins' ) )
|
3288 |
add_action( 'admin_bar_menu', array( $this, 'admin_bar_upgrade_menu' ), 1101 );
|
3289 |
$aioseop_admin_menu = 1;
|
3290 |
if ( !is_admin() && !empty( $post ) ) {
|
3291 |
$blog_page = $this->get_blog_page( $post );
|
3292 |
if ( !empty( $blog_page ) ) $post = $blog_page;
|
3293 |
+
$wp_admin_bar->add_menu( array( 'id' => 'aiosp_edit_' . $post->ID, 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Edit SEO', 'all-in-one-seo-pack' ), 'href' => get_edit_post_link( $post->ID ) . '#aiosp' ) );
|
3294 |
}
|
3295 |
}
|
3296 |
}
|
3297 |
|
3298 |
function admin_bar_upgrade_menu() {
|
3299 |
global $wp_admin_bar;
|
3300 |
+
$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/?loc=menu', 'meta' => Array( 'target' => '_blank' ) ) );
|
3301 |
}
|
3302 |
|
3303 |
function menu_order() {
|
3306 |
|
3307 |
function admin_menu() {
|
3308 |
$file = plugin_basename( __FILE__ );
|
3309 |
+
$menu_name = __( 'All in One SEO', 'all-in-one-seo-pack' );
|
3310 |
|
3311 |
$this->locations['aiosp']['default_options']['nonce-aioseop-edit']['default'] = wp_create_nonce('edit-aioseop-nonce');
|
3312 |
|
3350 |
if ( $donated ) {
|
3351 |
// Thank you for your donation
|
3352 |
$this->pointers['aioseop_donate'] = Array( 'pointer_target' => '#aiosp_donate_wrapper',
|
3353 |
+
'pointer_text' => '<h3>' . __( 'Thank you!', 'all-in-one-seo-pack' )
|
3354 |
+
. '</h3><p>' . __( 'Thank you for your donation, it helps keep this plugin free and actively developed!', 'all-in-one-seo-pack' ) . '</p>'
|
3355 |
);
|
3356 |
}
|
3357 |
|
3375 |
else
|
3376 |
add_utility_page( $menu_name, $menu_name, 'manage_options', $file, Array( $this, 'display_settings_page' ) );
|
3377 |
|
3378 |
+
add_meta_box('aioseop-list', __( "Join Our Mailing List", 'all-in-one-seo-pack' ), array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'normal', 'core');
|
3379 |
add_meta_box('aioseop-about', "About <span style='float:right;'>Version <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
|
3380 |
+
add_meta_box('aioseop-support', __( "Support", 'all-in-one-seo-pack' ) . " <span style='float:right;'>" . __( "Version", 'all-in-one-seo-pack' ) . " <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
|
3381 |
|
3382 |
add_action( 'aioseop_modules_add_menus', Array( $this, 'add_menu' ), 5 );
|
3383 |
do_action( 'aioseop_modules_add_menus', $file );
|
3399 |
if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
|
3400 |
if ( $tab_num <= 1 ) {
|
3401 |
if ( !empty( $m[0]['callback_args']['help_link'] ) )
|
3402 |
+
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m[0]['callback_args']['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
|
3403 |
add_meta_box( $m[0]['id'], $title, $m[0]['callback'], $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m[0]['callback_args'] );
|
3404 |
} elseif ( $tab_num > 1 ) {
|
3405 |
add_meta_box( $m[0]['id'] . '_tabbed', $title, Array( $this, 'display_tabbed_metabox' ), $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m );
|
3411 |
$title = $m['title'];
|
3412 |
if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
|
3413 |
if ( !empty( $m['help_link'] ) )
|
3414 |
+
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
|
3415 |
add_meta_box( $m['id'], $title, $m['callback'], $m['post_type'], $m['context'], $m['priority'], $m['callback_args'] );
|
3416 |
}
|
3417 |
}
|
3423 |
$active = ' active';
|
3424 |
foreach( $tabs as $t ) {
|
3425 |
if ( $active )
|
3426 |
+
$title = __( 'Main Settings', 'all-in-one-seo-pack' );
|
3427 |
else
|
3428 |
$title = $t['title'];
|
3429 |
$header .= '<li><label class="aioseop_header_nav"><a class="aioseop_header_tab' . $active . '" href="#'. $t['id'] .'">'.$title.'</a></label></li>';
|
3452 |
function display_right_sidebar( ) { ?>
|
3453 |
|
3454 |
<?php
|
3455 |
+
/* <label class="aioseop_generic_label"><?php _e('Click on option titles to get help!', 'all-in-one-seo-pack' ); ?></label> */
|
3456 |
global $wpdb;
|
3457 |
|
3458 |
if( !get_option( 'aioseop_options' ) ) {
|
3494 |
//]]>
|
3495 |
</script>
|
3496 |
<div class="aioseop_advert aioseop_nopad_all">
|
3497 |
+
<?php $adid = mt_rand( 21, 23 );
|
3498 |
+
|
3499 |
+
if($adid == 23){ ?><div style="height: 220px; background-image: url('https://www.wincher.com/Content/Images/plugin/wp/banner30.jpg')">
|
3500 |
+
<form style="position: relative; top: 170px; left: 40px;" action="https://www.wincher.com/FastReg" method="post" target="_blank">
|
3501 |
+
<input type="hidden" name="adreferer" value="banner<?php echo $adid; ?>"/>
|
3502 |
+
<input type="hidden" name="referer" value="all-in-one-seo-pack"/>
|
3503 |
+
<input type="text" name="email" placeholder="Email" style="padding-left: 7px; height: 30px; width: 290px; border: solid 1px #DDD;"/>
|
3504 |
+
<input type="submit" name="sub" value="Sign up!" style="height: 30px; width: 90px; background-color: #42DA76; color: #FFF; font-weight: bold; border:none; margin-left:5px;"/>
|
3505 |
+
</form></div>
|
3506 |
+
<?
|
3507 |
+
}else{
|
3508 |
+
?>
|
3509 |
+
<a href="https://www.wincher.com/?referer=all-in-one-seo-pack&adreferer=banner<?php echo $adid; ?>" target="_blank"><div class=wincherad id=wincher<?php echo $adid; ?>>
|
3510 |
+
</div></a>
|
3511 |
+
<?php } ?>
|
3512 |
+
|
3513 |
</div>
|
3514 |
+
|
3515 |
+
|
3516 |
<!-- Headway Themes-->
|
3517 |
+
<div class="aioseop_advert headwaythemes">
|
3518 |
<div>
|
3519 |
<h3>Drag and Drop WordPress Design</h3>
|
3520 |
<p><a href="http://semperfiwebdesign.com/headwayaio/" target="_blank">Headway Themes</a> allows you to easily create your own stunning website designs! Stop using premade themes start making your own design with Headway's easy to use Drag and Drop interface. All in One SEO Pack users have an exclusive discount by using coupon code <strong>SEMPERFI30</strong> at checkout.</p>
|
3522 |
<a href="http://semperfiwebdesign.com/headwayaio/" target="_blank"><img src="<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>headwaybanner.png"></a>
|
3523 |
</div>
|
3524 |
|
3525 |
+
|
3526 |
</div>
|
3527 |
</div>
|
3528 |
<?php
|
aioseop_feature_manager.php
CHANGED
@@ -11,28 +11,28 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
|
|
11 |
protected $module_info = Array( );
|
12 |
|
13 |
function __construct( $mod ) {
|
14 |
-
$this->name = __('Feature Manager', '
|
15 |
$this->prefix = 'aiosp_feature_manager_'; // option prefix
|
16 |
$this->file = __FILE__; // the current file
|
17 |
parent::__construct();
|
18 |
$this->module_info = Array(
|
19 |
-
'sitemap' => Array( 'name' => __( 'XML Sitemaps', '
|
20 |
-
'description' => __( 'Create and manage your XML Sitemaps using this feature and submit your XML Sitemap to Google, Bing/Yahoo and Ask.com.', '
|
21 |
-
'opengraph' => Array( 'name' => __( 'Social Meta', '
|
22 |
-
'description' => __( 'Activate this feature to add Social Meta data to your site to deliver closer integration between your website/blog and Facebook, Twitter, and Google+.', '
|
23 |
-
'robots' => Array( 'name' => __( 'Robots.txt', '
|
24 |
-
'description' => __( 'Generate and validate your robots.txt file to guide search engines through your site.', '
|
25 |
-
'file_editor' => Array( 'name' => __( 'File Editor', '
|
26 |
-
'description' => __( 'Edit your robots.txt file and your .htaccess file to fine-tune your site.', '
|
27 |
-
'bad_robots'=> Array( 'name' => __( 'Bad Bot Blocker', '
|
28 |
-
'description' => __( 'Stop badly behaving bots from slowing down your website.', '
|
29 |
-
'performance' => Array( 'name' => __( 'Performance', '
|
30 |
-
'description' => __( 'Optimize performance related to SEO and check your system status.', '
|
31 |
'default' => 'on' ),
|
32 |
-
'importer_exporter' => Array( 'name' => __( 'Importer & Exporter', '
|
33 |
-
'description' => __( 'Exports and imports your All in One SEO Pack plugin settings.', '
|
34 |
-
'coming_soon' => Array( 'name' => __( 'Coming Soon...', '
|
35 |
-
'description' => __( 'Video Sitemap', '
|
36 |
'save' => false ) );
|
37 |
|
38 |
// Set up default settings fields
|
@@ -84,9 +84,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
|
|
84 |
}
|
85 |
|
86 |
function filter_submit( $submit, $location = null ) {
|
87 |
-
$submit['Submit']['value'] = __( 'Update Features', '
|
88 |
$submit['Submit']['class'] .= " hidden";
|
89 |
-
$submit['Submit_Default']['value'] = __( 'Reset Features', '
|
90 |
return $submit;
|
91 |
}
|
92 |
|
11 |
protected $module_info = Array( );
|
12 |
|
13 |
function __construct( $mod ) {
|
14 |
+
$this->name = __('Feature Manager', 'all-in-one-seo-pack'); // Human-readable name of the plugin
|
15 |
$this->prefix = 'aiosp_feature_manager_'; // option prefix
|
16 |
$this->file = __FILE__; // the current file
|
17 |
parent::__construct();
|
18 |
$this->module_info = Array(
|
19 |
+
'sitemap' => Array( 'name' => __( 'XML Sitemaps', 'all-in-one-seo-pack' ),
|
20 |
+
'description' => __( 'Create and manage your XML Sitemaps using this feature and submit your XML Sitemap to Google, Bing/Yahoo and Ask.com.', 'all-in-one-seo-pack' ) ),
|
21 |
+
'opengraph' => Array( 'name' => __( 'Social Meta', 'all-in-one-seo-pack' ),
|
22 |
+
'description' => __( 'Activate this feature to add Social Meta data to your site to deliver closer integration between your website/blog and Facebook, Twitter, and Google+.', 'all-in-one-seo-pack' ) ),
|
23 |
+
'robots' => Array( 'name' => __( 'Robots.txt', 'all-in-one-seo-pack' ),
|
24 |
+
'description' => __( 'Generate and validate your robots.txt file to guide search engines through your site.', 'all-in-one-seo-pack' ) ),
|
25 |
+
'file_editor' => Array( 'name' => __( 'File Editor', 'all-in-one-seo-pack' ),
|
26 |
+
'description' => __( 'Edit your robots.txt file and your .htaccess file to fine-tune your site.', 'all-in-one-seo-pack' ) ),
|
27 |
+
'bad_robots'=> Array( 'name' => __( 'Bad Bot Blocker', 'all-in-one-seo-pack' ),
|
28 |
+
'description' => __( 'Stop badly behaving bots from slowing down your website.', 'all-in-one-seo-pack' ) ),
|
29 |
+
'performance' => Array( 'name' => __( 'Performance', 'all-in-one-seo-pack' ),
|
30 |
+
'description' => __( 'Optimize performance related to SEO and check your system status.', 'all-in-one-seo-pack' ),
|
31 |
'default' => 'on' ),
|
32 |
+
'importer_exporter' => Array( 'name' => __( 'Importer & Exporter', 'all-in-one-seo-pack' ),
|
33 |
+
'description' => __( 'Exports and imports your All in One SEO Pack plugin settings.', 'all-in-one-seo-pack' ) ),
|
34 |
+
'coming_soon' => Array( 'name' => __( 'Coming Soon...', 'all-in-one-seo-pack' ),
|
35 |
+
'description' => __( 'Video Sitemap', 'all-in-one-seo-pack' ),
|
36 |
'save' => false ) );
|
37 |
|
38 |
// Set up default settings fields
|
84 |
}
|
85 |
|
86 |
function filter_submit( $submit, $location = null ) {
|
87 |
+
$submit['Submit']['value'] = __( 'Update Features', 'all-in-one-seo-pack' ) . ' »';
|
88 |
$submit['Submit']['class'] .= " hidden";
|
89 |
+
$submit['Submit_Default']['value'] = __( 'Reset Features', 'all-in-one-seo-pack' ) . ' »';
|
90 |
return $submit;
|
91 |
}
|
92 |
|
aioseop_file_editor.php
CHANGED
@@ -9,7 +9,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
|
|
9 |
class All_in_One_SEO_Pack_File_Editor extends All_in_One_SEO_Pack_Module {
|
10 |
|
11 |
function All_in_One_SEO_Pack_File_Editor( ) {
|
12 |
-
$this->name = __('File Editor', '
|
13 |
$this->prefix = 'aiosp_file_editor_'; // option prefix
|
14 |
$this->file = __FILE__; // the current file
|
15 |
parent::__construct();
|
@@ -19,13 +19,13 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
|
|
19 |
$this->current_tab = 'robots';
|
20 |
|
21 |
$help_text = Array(
|
22 |
-
'robotfile' => __( 'Robots.txt editor', '
|
23 |
-
'htaccfile' => __( '.htaccess editor', '
|
24 |
);
|
25 |
$this->default_options = array(
|
26 |
-
'robotfile' => Array( 'name' => __( 'Edit Robots.txt', '
|
27 |
'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' ),
|
28 |
-
'htaccfile' => Array( 'name' => __( 'Edit .htaccess', '
|
29 |
'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' )
|
30 |
);
|
31 |
|
@@ -39,12 +39,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
|
|
39 |
|
40 |
$this->layout = Array(
|
41 |
'robots' => Array(
|
42 |
-
'name' => __( 'Edit robots.txt', '
|
43 |
'options' => Array( 'robotfile' ),
|
44 |
'tab' => 'robots'
|
45 |
),
|
46 |
'htaccess' => Array(
|
47 |
-
'name' => __( 'Edit .htaccess', '
|
48 |
'options' => Array( 'htaccfile' ),
|
49 |
'tab' => 'htaccess'
|
50 |
)
|
@@ -67,9 +67,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
|
|
67 |
unset( $submit['Submit_Default'] );
|
68 |
$submit['Submit']['type'] = 'hidden';
|
69 |
if ( $this->current_tab == 'robots' )
|
70 |
-
$submit['Submit_File_Editor'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update robots.txt', '
|
71 |
elseif ( $this->current_tab == 'htaccess' )
|
72 |
-
$submit['Submit_htaccess'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update .htaccess', '
|
73 |
return $submit;
|
74 |
}
|
75 |
|
9 |
class All_in_One_SEO_Pack_File_Editor extends All_in_One_SEO_Pack_Module {
|
10 |
|
11 |
function All_in_One_SEO_Pack_File_Editor( ) {
|
12 |
+
$this->name = __('File Editor', 'all-in-one-seo-pack'); // Human-readable name of the plugin
|
13 |
$this->prefix = 'aiosp_file_editor_'; // option prefix
|
14 |
$this->file = __FILE__; // the current file
|
15 |
parent::__construct();
|
19 |
$this->current_tab = 'robots';
|
20 |
|
21 |
$help_text = Array(
|
22 |
+
'robotfile' => __( 'Robots.txt editor', 'all-in-one-seo-pack' ),
|
23 |
+
'htaccfile' => __( '.htaccess editor', 'all-in-one-seo-pack' )
|
24 |
);
|
25 |
$this->default_options = array(
|
26 |
+
'robotfile' => Array( 'name' => __( 'Edit Robots.txt', 'all-in-one-seo-pack'),
|
27 |
'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' ),
|
28 |
+
'htaccfile' => Array( 'name' => __( 'Edit .htaccess', 'all-in-one-seo-pack'),
|
29 |
'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' )
|
30 |
);
|
31 |
|
39 |
|
40 |
$this->layout = Array(
|
41 |
'robots' => Array(
|
42 |
+
'name' => __( 'Edit robots.txt', 'all-in-one-seo-pack' ),
|
43 |
'options' => Array( 'robotfile' ),
|
44 |
'tab' => 'robots'
|
45 |
),
|
46 |
'htaccess' => Array(
|
47 |
+
'name' => __( 'Edit .htaccess', 'all-in-one-seo-pack' ),
|
48 |
'options' => Array( 'htaccfile' ),
|
49 |
'tab' => 'htaccess'
|
50 |
)
|
67 |
unset( $submit['Submit_Default'] );
|
68 |
$submit['Submit']['type'] = 'hidden';
|
69 |
if ( $this->current_tab == 'robots' )
|
70 |
+
$submit['Submit_File_Editor'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update robots.txt', 'all-in-one-seo-pack') . ' »' );
|
71 |
elseif ( $this->current_tab == 'htaccess' )
|
72 |
+
$submit['Submit_htaccess'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update .htaccess', 'all-in-one-seo-pack') . ' »' );
|
73 |
return $submit;
|
74 |
}
|
75 |
|
aioseop_functions.php
CHANGED
@@ -142,10 +142,10 @@ if ( !function_exists( 'aioseop_addmycolumns' ) ) {
|
|
142 |
if ( !function_exists( 'aioseop_mrt_pcolumns' ) ) {
|
143 |
function aioseop_mrt_pcolumns( $aioseopc ) {
|
144 |
global $aioseop_options;
|
145 |
-
$aioseopc['seotitle'] = __( 'SEO Title', '
|
146 |
-
$aioseopc['seodesc'] = __( 'SEO Description', '
|
147 |
if ( empty( $aioseop_options['aiosp_togglekeywords'] ) )
|
148 |
-
$aioseopc['seokeywords'] = __( 'SEO Keywords', '
|
149 |
return $aioseopc;
|
150 |
}
|
151 |
}
|
@@ -203,9 +203,9 @@ if ( !function_exists( 'aioseop_admin_head' ) ) {
|
|
203 |
pluginUrl: "<?php print AIOSEOP_PLUGIN_URL; ?>",
|
204 |
requestUrl: "<?php print WP_ADMIN_URL . '/admin-ajax.php' ?>",
|
205 |
imgUrl: "<?php print AIOSEOP_PLUGIN_IMAGES_URL; ?>",
|
206 |
-
Edit: "<?php _e( 'Edit', '
|
207 |
-
pleaseWait: "<?php _e( 'Please wait...', '
|
208 |
-
Revisions: "<?php _e( 'Revisions', '
|
209 |
}
|
210 |
//]]>
|
211 |
</script>
|
@@ -275,7 +275,7 @@ if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
|
|
275 |
if( $result != '' ):
|
276 |
$label = "<label id='aioseop_label_{$target}_{$post_id}'><span style='width: 20px;display: inline-block;'></span>" . $result . '</label>';
|
277 |
else:
|
278 |
-
$label = "<label id='aioseop_label_{$target}_{$post_id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', '
|
279 |
endif;
|
280 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
|
281 |
$output = '<a id="' . $target . 'editlink' . $post_id . '" class="aioseop_edit_link" href="javascript:void(0);"'
|
@@ -296,7 +296,7 @@ if ( !function_exists( 'aioseop_ajax_init' ) ) {
|
|
296 |
define( 'AIOSEOP_AJAX_MSG_TMPL', "jQuery('div#aiosp_$settings').fadeOut('fast', function(){jQuery('div#aiosp_$settings').html('%s').fadeIn('fast');});" );
|
297 |
|
298 |
if ( !wp_verify_nonce($_POST['nonce-aioseop'], 'aioseop-nonce') )
|
299 |
-
die( sprintf( AIOSEOP_AJAX_MSG_TMPL, __( "Unauthorized access; try reloading the page.", '
|
300 |
} else {
|
301 |
die(0);
|
302 |
}
|
@@ -355,7 +355,7 @@ if ( !function_exists( 'aioseop_ajax_delete_url' ) ) {
|
|
355 |
$output = str_replace( "'", "\'", $output );
|
356 |
$output = str_replace( "\n", '\n', $output );
|
357 |
} else {
|
358 |
-
$output = sprintf( __( "Row %s not found; no rows were deleted.", '
|
359 |
}
|
360 |
die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
|
361 |
}
|
@@ -419,18 +419,18 @@ if ( !function_exists( 'aioseop_ajax_scan_header' ) ) {
|
|
419 |
if ( $m[$tags['name']] == $tv )
|
420 |
$meta .= "<tr><th style='color:red;'>" . sprintf( __( 'Duplicate %s Meta'), ucwords( $type ) ) . "</th><td>" . ucwords( $tk ) . "</td><td>{$m[$tags['name']]}</td><td>{$m[$tags['value']]}</td></tr>\n";
|
421 |
}
|
422 |
-
if ( empty( $meta ) ) $meta = '<span style="color:green;">' . __( 'No duplicate meta tags found.', '
|
423 |
else {
|
424 |
$meta = "<table cellspacing=0 cellpadding=0 width=80% class='aioseop_table'><tr class='aioseop_table_header'><th>Meta For Site</th><th>Kind of Meta</th><th>Element Name</th><th>Element Value</th></tr>" . $meta . "</table>";
|
425 |
-
$meta .= "<p><div class='aioseop_meta_info'><h3 style='padding:5px;margin-bottom:0px;'>" . __( 'What Does This Mean?', '
|
426 |
-
. "<p>" . __( 'All in One SEO Pack has detected that a plugin(s) or theme is also outputting social meta tags on your site. You can view this social meta in the source code of your site (check your browser help for instructions on how to view source code).', '
|
427 |
-
. "</p><p>" . __( 'You may prefer to use the social meta tags that are being output by the other plugin(s) or theme. If so, then you should deactivate this Social Meta feature in All in One SEO Pack Feature Manager.', '
|
428 |
-
. "</p><p>" . __( 'You should avoid duplicate social meta tags. You can use these free tools from Facebook, Google and Twitter to validate your social meta and check for errors:', '
|
429 |
|
430 |
foreach( Array( 'https://developers.facebook.com/tools/debug', 'http://www.google.com/webmasters/tools/richsnippets', 'https://dev.twitter.com/docs/cards/validation/validator' ) as $link ) {
|
431 |
$meta .= "<a href='{$link}' target='_blank'>{$link}</a><br />";
|
432 |
}
|
433 |
-
$meta .= "<p>" . __( 'Please refer to the document for each tool for help in using these to debug your social meta.', '
|
434 |
}
|
435 |
$output = $meta;
|
436 |
$output = str_replace( "'", "\'", $output );
|
@@ -539,7 +539,7 @@ if ( !function_exists( 'aioseop_mrt_pccolumn' ) ) {
|
|
539 |
if( !empty($content) ):
|
540 |
$label = "<label id='aioseop_label_{$target}_{$id}'><span style='width: 20px;display: inline-block;'></span>" . $content . '</label>';
|
541 |
else:
|
542 |
-
$label = "<label id='aioseop_label_{$target}_{$id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', '
|
543 |
endif;
|
544 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
|
545 |
echo '<a id="' . $target . 'editlink' . $id . '" class="aioseop_edit_link" href="javascript:void(0);" onclick=\'aioseop_ajax_edit_meta_form(' .
|
@@ -654,14 +654,14 @@ if ( !function_exists( 'aioseop_add_contactmethods' ) ) {
|
|
654 |
function aioseop_add_contactmethods( $contactmethods ) {
|
655 |
global $aioseop_options, $aioseop_modules;
|
656 |
if ( empty( $aioseop_options['aiosp_google_disable_profile'] ) )
|
657 |
-
$contactmethods['googleplus'] = __( 'Google+', '
|
658 |
if ( !empty( $aioseop_modules ) && is_object( $aioseop_modules ) ) {
|
659 |
$m = $aioseop_modules->return_module( 'All_in_One_SEO_Pack_Opengraph' );
|
660 |
if ( ( $m !== false ) && is_object( $m ) ) {
|
661 |
if ( $m->option_isset( 'twitter_creator' ) )
|
662 |
-
$contactmethods['twitter'] = __( 'Twitter', '
|
663 |
if ( $m->option_isset( 'facebook_author' ) )
|
664 |
-
$contactmethods['facebook'] = __( 'Facebook', '
|
665 |
}
|
666 |
}
|
667 |
return $contactmethods;
|
142 |
if ( !function_exists( 'aioseop_mrt_pcolumns' ) ) {
|
143 |
function aioseop_mrt_pcolumns( $aioseopc ) {
|
144 |
global $aioseop_options;
|
145 |
+
$aioseopc['seotitle'] = __( 'SEO Title', 'all-in-one-seo-pack' );
|
146 |
+
$aioseopc['seodesc'] = __( 'SEO Description', 'all-in-one-seo-pack' );
|
147 |
if ( empty( $aioseop_options['aiosp_togglekeywords'] ) )
|
148 |
+
$aioseopc['seokeywords'] = __( 'SEO Keywords', 'all-in-one-seo-pack' );
|
149 |
return $aioseopc;
|
150 |
}
|
151 |
}
|
203 |
pluginUrl: "<?php print AIOSEOP_PLUGIN_URL; ?>",
|
204 |
requestUrl: "<?php print WP_ADMIN_URL . '/admin-ajax.php' ?>",
|
205 |
imgUrl: "<?php print AIOSEOP_PLUGIN_IMAGES_URL; ?>",
|
206 |
+
Edit: "<?php _e( 'Edit', 'all-in-one-seo-pack'); ?>", Post: "<?php _e( 'Post', 'all-in-one-seo-pack'); ?>", Save: "<?php _e( 'Save', 'all-in-one-seo-pack'); ?>", Cancel: "<?php _e( 'Cancel', 'all-in-one-seo-pack'); ?>", postType: "post",
|
207 |
+
pleaseWait: "<?php _e( 'Please wait...', 'all-in-one-seo-pack'); ?>", slugEmpty: "<?php _e( 'Slug may not be empty!', 'all-in-one-seo-pack'); ?>",
|
208 |
+
Revisions: "<?php _e( 'Revisions', 'all-in-one-seo-pack'); ?>", Time: "<?php _e( 'Insert time', 'all-in-one-seo-pack'); ?>"
|
209 |
}
|
210 |
//]]>
|
211 |
</script>
|
275 |
if( $result != '' ):
|
276 |
$label = "<label id='aioseop_label_{$target}_{$post_id}'><span style='width: 20px;display: inline-block;'></span>" . $result . '</label>';
|
277 |
else:
|
278 |
+
$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>';
|
279 |
endif;
|
280 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
|
281 |
$output = '<a id="' . $target . 'editlink' . $post_id . '" class="aioseop_edit_link" href="javascript:void(0);"'
|
296 |
define( 'AIOSEOP_AJAX_MSG_TMPL', "jQuery('div#aiosp_$settings').fadeOut('fast', function(){jQuery('div#aiosp_$settings').html('%s').fadeIn('fast');});" );
|
297 |
|
298 |
if ( !wp_verify_nonce($_POST['nonce-aioseop'], 'aioseop-nonce') )
|
299 |
+
die( sprintf( AIOSEOP_AJAX_MSG_TMPL, __( "Unauthorized access; try reloading the page.", 'all-in-one-seo-pack' ) ) );
|
300 |
} else {
|
301 |
die(0);
|
302 |
}
|
355 |
$output = str_replace( "'", "\'", $output );
|
356 |
$output = str_replace( "\n", '\n', $output );
|
357 |
} else {
|
358 |
+
$output = sprintf( __( "Row %s not found; no rows were deleted.", 'all-in-one-seo-pack' ), esc_attr( $options ) );
|
359 |
}
|
360 |
die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
|
361 |
}
|
419 |
if ( $m[$tags['name']] == $tv )
|
420 |
$meta .= "<tr><th style='color:red;'>" . sprintf( __( 'Duplicate %s Meta'), ucwords( $type ) ) . "</th><td>" . ucwords( $tk ) . "</td><td>{$m[$tags['name']]}</td><td>{$m[$tags['value']]}</td></tr>\n";
|
421 |
}
|
422 |
+
if ( empty( $meta ) ) $meta = '<span style="color:green;">' . __( 'No duplicate meta tags found.', 'all-in-one-seo-pack' ) . '</span>';
|
423 |
else {
|
424 |
$meta = "<table cellspacing=0 cellpadding=0 width=80% class='aioseop_table'><tr class='aioseop_table_header'><th>Meta For Site</th><th>Kind of Meta</th><th>Element Name</th><th>Element Value</th></tr>" . $meta . "</table>";
|
425 |
+
$meta .= "<p><div class='aioseop_meta_info'><h3 style='padding:5px;margin-bottom:0px;'>" . __( 'What Does This Mean?', 'all-in-one-seo-pack' ) . "</h3><div style='padding:5px;padding-top:0px;'>"
|
426 |
+
. "<p>" . __( 'All in One SEO Pack has detected that a plugin(s) or theme is also outputting social meta tags on your site. You can view this social meta in the source code of your site (check your browser help for instructions on how to view source code).', 'all-in-one-seo-pack' )
|
427 |
+
. "</p><p>" . __( 'You may prefer to use the social meta tags that are being output by the other plugin(s) or theme. If so, then you should deactivate this Social Meta feature in All in One SEO Pack Feature Manager.', 'all-in-one-seo-pack' )
|
428 |
+
. "</p><p>" . __( 'You should avoid duplicate social meta tags. You can use these free tools from Facebook, Google and Twitter to validate your social meta and check for errors:', 'all-in-one-seo-pack' ) . "</p>";
|
429 |
|
430 |
foreach( Array( 'https://developers.facebook.com/tools/debug', 'http://www.google.com/webmasters/tools/richsnippets', 'https://dev.twitter.com/docs/cards/validation/validator' ) as $link ) {
|
431 |
$meta .= "<a href='{$link}' target='_blank'>{$link}</a><br />";
|
432 |
}
|
433 |
+
$meta .= "<p>" . __( 'Please refer to the document for each tool for help in using these to debug your social meta.', 'all-in-one-seo-pack' ) . "</div></div>";
|
434 |
}
|
435 |
$output = $meta;
|
436 |
$output = str_replace( "'", "\'", $output );
|
539 |
if( !empty($content) ):
|
540 |
$label = "<label id='aioseop_label_{$target}_{$id}'><span style='width: 20px;display: inline-block;'></span>" . $content . '</label>';
|
541 |
else:
|
542 |
+
$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>';
|
543 |
endif;
|
544 |
$nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
|
545 |
echo '<a id="' . $target . 'editlink' . $id . '" class="aioseop_edit_link" href="javascript:void(0);" onclick=\'aioseop_ajax_edit_meta_form(' .
|
654 |
function aioseop_add_contactmethods( $contactmethods ) {
|
655 |
global $aioseop_options, $aioseop_modules;
|
656 |
if ( empty( $aioseop_options['aiosp_google_disable_profile'] ) )
|
657 |
+
$contactmethods['googleplus'] = __( 'Google+', 'all-in-one-seo-pack' );
|
658 |
if ( !empty( $aioseop_modules ) && is_object( $aioseop_modules ) ) {
|
659 |
$m = $aioseop_modules->return_module( 'All_in_One_SEO_Pack_Opengraph' );
|
660 |
if ( ( $m !== false ) && is_object( $m ) ) {
|
661 |
if ( $m->option_isset( 'twitter_creator' ) )
|
662 |
+
$contactmethods['twitter'] = __( 'Twitter', 'all-in-one-seo-pack' );
|
663 |
if ( $m->option_isset( 'facebook_author' ) )
|
664 |
+
$contactmethods['facebook'] = __( 'Facebook', 'all-in-one-seo-pack' );
|
665 |
}
|
666 |
}
|
667 |
return $contactmethods;
|
aioseop_importer_exporter.php
CHANGED
@@ -9,27 +9,27 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
|
|
9 |
class All_in_One_SEO_Pack_Importer_Exporter extends All_in_One_SEO_Pack_Module {
|
10 |
|
11 |
function All_in_One_SEO_Pack_Importer_Exporter( ) {
|
12 |
-
$this->name = __( 'Importer & Exporter', '
|
13 |
$this->prefix = 'aiosp_importer_exporter_'; // option prefix
|
14 |
$this->file = __FILE__;
|
15 |
parent::__construct();
|
16 |
$help_text = Array(
|
17 |
-
"import_submit" => __( "Select a valid All in One SEO Pack ini file and click 'Import' to import options from a previous state or install of All in One SEO Pack.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", '
|
18 |
-
"export_choices" => __( "You may choose to export settings from active modules, and content from post data.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", '
|
19 |
-
"export_post_types" => __( "Select which Post Types you want to export your All in One SEO Pack meta data for.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", '
|
20 |
);
|
21 |
$this->warnings = Array();
|
22 |
$this->default_options = array(
|
23 |
-
'import_submit' => Array( 'name' => __( 'Import', '
|
24 |
-
'export_choices' => Array( 'name' => __( 'Export Settings', '
|
25 |
'type' => 'multicheckbox',
|
26 |
'initial_options' => Array( 1 => 'General Settings',
|
27 |
2 => 'Post Data' ) ),
|
28 |
-
'export_post_types' => Array( 'name' => __( 'Export Post Types:', '
|
29 |
'default' => Array( 'post' => 'post', 'page' => 'page' ),
|
30 |
'type' => 'multicheckbox',
|
31 |
'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ) ),
|
32 |
-
'import_export_help' => Array( 'type' => 'html', 'label' => 'none', 'default' => __( "Note: If General Settings is checked, the General Settings, the Feature Manager settings, and the following currently active modules will have their settings data exported:", '
|
33 |
);
|
34 |
|
35 |
if ( !empty( $help_text ) )
|
@@ -54,10 +54,10 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
|
|
54 |
}
|
55 |
|
56 |
function filter_submit( $submit ) {
|
57 |
-
$submit['Submit']['value'] = __('Import', '
|
58 |
return Array( 'export_submit' => Array( 'type' => 'submit',
|
59 |
'class' => 'button-primary',
|
60 |
-
'value' => __('Export', '
|
61 |
}
|
62 |
|
63 |
function debug_post_types( ) {
|
@@ -77,9 +77,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
|
|
77 |
$this->default_options['import_export_help']['default'] .= "\t<li>" . $module->name . "</li>\n";
|
78 |
}
|
79 |
$this->default_options['import_export_help']['default'] .= "\n</ul>\n";
|
80 |
-
} else $this->default_options['import_export_help']['default'] .= "<br />" . __( "There are no other modules currently loaded!", '
|
81 |
}
|
82 |
-
$this->default_options['import_export_help']['default'] .= '<br />' . __( "You may change this by activating or deactivating modules in the Feature Manager.", '
|
83 |
$this->update_options( );
|
84 |
|
85 |
if ( !empty( $_REQUEST['export_submit'] ) )
|
@@ -244,7 +244,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
|
|
244 |
else
|
245 |
$section[ $section_label ][ $matches[ 1 ] ] = NULL;
|
246 |
} else {
|
247 |
-
$this->warnings[] = sprintf( __( '<b>Warning:</b> Line not matched: <b>"%s"</b>, On Line: <b>%s</b>', '
|
248 |
}
|
249 |
}
|
250 |
/* Update Plugin Settings */
|
@@ -267,7 +267,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
|
|
267 |
$post_exists = null;
|
268 |
} else {
|
269 |
$target_title = $module_options[$key]['post_title'];
|
270 |
-
$post_warning = sprintf( __( '<b>Warning:</b> This following post could not be found: <b>"%s"</b>', '
|
271 |
}
|
272 |
if ( $post_warning != null ) {
|
273 |
$this->warnings[] = $post_warning;
|
@@ -295,7 +295,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
|
|
295 |
|
296 |
/* Create File Contents */
|
297 |
$settings_file = "settings_aioseop.ini";
|
298 |
-
$buf = "; " . __( 'Settings export file for All in One SEO Pack', '
|
299 |
|
300 |
/* Add all settings to settings file */
|
301 |
$buf = $aiosp->settings_export( $buf );
|
9 |
class All_in_One_SEO_Pack_Importer_Exporter extends All_in_One_SEO_Pack_Module {
|
10 |
|
11 |
function All_in_One_SEO_Pack_Importer_Exporter( ) {
|
12 |
+
$this->name = __( 'Importer & Exporter', 'all-in-one-seo-pack' ); // Human-readable name of the module
|
13 |
$this->prefix = 'aiosp_importer_exporter_'; // option prefix
|
14 |
$this->file = __FILE__;
|
15 |
parent::__construct();
|
16 |
$help_text = Array(
|
17 |
+
"import_submit" => __( "Select a valid All in One SEO Pack ini file and click 'Import' to import options from a previous state or install of All in One SEO Pack.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
|
18 |
+
"export_choices" => __( "You may choose to export settings from active modules, and content from post data.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack'),
|
19 |
+
"export_post_types" => __( "Select which Post Types you want to export your All in One SEO Pack meta data for.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack')
|
20 |
);
|
21 |
$this->warnings = Array();
|
22 |
$this->default_options = array(
|
23 |
+
'import_submit' => Array( 'name' => __( 'Import', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'file', 'save' => false ),
|
24 |
+
'export_choices' => Array( 'name' => __( 'Export Settings', 'all-in-one-seo-pack'),
|
25 |
'type' => 'multicheckbox',
|
26 |
'initial_options' => Array( 1 => 'General Settings',
|
27 |
2 => 'Post Data' ) ),
|
28 |
+
'export_post_types' => Array( 'name' => __( 'Export Post Types:', 'all-in-one-seo-pack' ),
|
29 |
'default' => Array( 'post' => 'post', 'page' => 'page' ),
|
30 |
'type' => 'multicheckbox',
|
31 |
'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ) ),
|
32 |
+
'import_export_help' => Array( 'type' => 'html', 'label' => 'none', 'default' => __( "Note: If General Settings is checked, the General Settings, the Feature Manager settings, and the following currently active modules will have their settings data exported:", 'all-in-one-seo-pack') . "<br />" )
|
33 |
);
|
34 |
|
35 |
if ( !empty( $help_text ) )
|
54 |
}
|
55 |
|
56 |
function filter_submit( $submit ) {
|
57 |
+
$submit['Submit']['value'] = __('Import', 'all-in-one-seo-pack') . ' »';
|
58 |
return Array( 'export_submit' => Array( 'type' => 'submit',
|
59 |
'class' => 'button-primary',
|
60 |
+
'value' => __('Export', 'all-in-one-seo-pack') . ' »' ) ) + $submit;
|
61 |
}
|
62 |
|
63 |
function debug_post_types( ) {
|
77 |
$this->default_options['import_export_help']['default'] .= "\t<li>" . $module->name . "</li>\n";
|
78 |
}
|
79 |
$this->default_options['import_export_help']['default'] .= "\n</ul>\n";
|
80 |
+
} else $this->default_options['import_export_help']['default'] .= "<br />" . __( "There are no other modules currently loaded!", 'all-in-one-seo-pack' );
|
81 |
}
|
82 |
+
$this->default_options['import_export_help']['default'] .= '<br />' . __( "You may change this by activating or deactivating modules in the Feature Manager.", 'all-in-one-seo-pack' );
|
83 |
$this->update_options( );
|
84 |
|
85 |
if ( !empty( $_REQUEST['export_submit'] ) )
|
244 |
else
|
245 |
$section[ $section_label ][ $matches[ 1 ] ] = NULL;
|
246 |
} else {
|
247 |
+
$this->warnings[] = sprintf( __( '<b>Warning:</b> Line not matched: <b>"%s"</b>, On Line: <b>%s</b>', 'all-in-one-seo-pack' ), $line, $line_number ) ;
|
248 |
}
|
249 |
}
|
250 |
/* Update Plugin Settings */
|
267 |
$post_exists = null;
|
268 |
} else {
|
269 |
$target_title = $module_options[$key]['post_title'];
|
270 |
+
$post_warning = sprintf( __( '<b>Warning:</b> This following post could not be found: <b>"%s"</b>', 'all-in-one-seo-pack' ), $target_title );
|
271 |
}
|
272 |
if ( $post_warning != null ) {
|
273 |
$this->warnings[] = $post_warning;
|
295 |
|
296 |
/* Create File Contents */
|
297 |
$settings_file = "settings_aioseop.ini";
|
298 |
+
$buf = "; " . __( 'Settings export file for All in One SEO Pack', 'all-in-one-seo-pack' ) . "\n";
|
299 |
|
300 |
/* Add all settings to settings file */
|
301 |
$buf = $aiosp->settings_export( $buf );
|
aioseop_module.css
CHANGED
@@ -118,7 +118,7 @@ div.aioseop_tip_icon:before {
|
|
118 |
color: #5F5F5F;
|
119 |
font-weight: bold;
|
120 |
line-height: 19px;
|
121 |
-
padding-left: 20px
|
122 |
display: inline-block;
|
123 |
text-align: left;
|
124 |
position: absolute;
|
@@ -216,6 +216,12 @@ div.aioseop_tip_icon:before {
|
|
216 |
width: 423px;
|
217 |
}
|
218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
.aioseop_nopad {
|
220 |
padding-left: 0px;
|
221 |
padding-top: 0px;
|
@@ -241,6 +247,7 @@ div.aioseop_tip_icon:before {
|
|
241 |
margin-bottom: 0px;
|
242 |
border: none;
|
243 |
}
|
|
|
244 |
#wincher11 {
|
245 |
background-image: url(images/banner11.png);
|
246 |
}
|
@@ -256,6 +263,15 @@ div.aioseop_tip_icon:before {
|
|
256 |
#wincher15 {
|
257 |
background-image: url(images/banner15.png);
|
258 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
.aioseop_content {
|
260 |
min-width: 760px;
|
261 |
clear: left;
|
@@ -270,6 +286,9 @@ div.aioseop_tip_icon:before {
|
|
270 |
margin: 0;
|
271 |
line-height: 1;
|
272 |
}
|
|
|
|
|
|
|
273 |
#aiosp_feature_manager_metabox.postbox {
|
274 |
margin-top: 20px;
|
275 |
float: left;
|
@@ -331,6 +350,7 @@ div.aioseop_tip_icon:before {
|
|
331 |
max-width: 270px;
|
332 |
padding-top: 3px;
|
333 |
padding-bottom: 3px;
|
|
|
334 |
}
|
335 |
.aioseop_metabox_text h2 {
|
336 |
font-size: 14px;
|
118 |
color: #5F5F5F;
|
119 |
font-weight: bold;
|
120 |
line-height: 19px;
|
121 |
+
padding-left: 10px; /*changed from 20px to 10px for certain language support*/
|
122 |
display: inline-block;
|
123 |
text-align: left;
|
124 |
position: absolute;
|
216 |
width: 423px;
|
217 |
}
|
218 |
|
219 |
+
.headwaythemes {
|
220 |
+
background-color: #FFFFFF;
|
221 |
+
padding-bottom: 110px;
|
222 |
+
height: 125px;
|
223 |
+
}
|
224 |
+
|
225 |
.aioseop_nopad {
|
226 |
padding-left: 0px;
|
227 |
padding-top: 0px;
|
247 |
margin-bottom: 0px;
|
248 |
border: none;
|
249 |
}
|
250 |
+
/*
|
251 |
#wincher11 {
|
252 |
background-image: url(images/banner11.png);
|
253 |
}
|
263 |
#wincher15 {
|
264 |
background-image: url(images/banner15.png);
|
265 |
}
|
266 |
+
*/
|
267 |
+
#wincher21 {
|
268 |
+
background-image: url(images/banner21.jpg);
|
269 |
+
}
|
270 |
+
#wincher22 {
|
271 |
+
background-image: url(images/banner22.jpg);
|
272 |
+
}
|
273 |
+
}
|
274 |
+
|
275 |
.aioseop_content {
|
276 |
min-width: 760px;
|
277 |
clear: left;
|
286 |
margin: 0;
|
287 |
line-height: 1;
|
288 |
}
|
289 |
+
.aioseop_options_wrapper .submit input.button-primary {
|
290 |
+
margin-bottom: 5px;
|
291 |
+
}
|
292 |
#aiosp_feature_manager_metabox.postbox {
|
293 |
margin-top: 20px;
|
294 |
float: left;
|
350 |
max-width: 270px;
|
351 |
padding-top: 3px;
|
352 |
padding-bottom: 3px;
|
353 |
+
height:67px !important; /*added for certain language support*/
|
354 |
}
|
355 |
.aioseop_metabox_text h2 {
|
356 |
font-size: 14px;
|
aioseop_module_class.php
CHANGED
@@ -39,7 +39,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
39 |
function __call( $name, $arguments ) {
|
40 |
if ( $this->strpos( $name, "display_settings_page_" ) === 0 )
|
41 |
return $this->display_settings_page( $this->substr( $name, 22 ) );
|
42 |
-
$error = __( sprintf( "Method %s doesn't exist", $name ), '
|
43 |
if ( class_exists( 'BadMethodCallException' ) )
|
44 |
throw new BadMethodCallException( $error );
|
45 |
throw new Exception( $error );
|
@@ -860,8 +860,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
860 |
* Save a file through WP Filesystem.
|
861 |
*/
|
862 |
function save_file( $filename, $contents ) {
|
863 |
-
$failed_str = __( sprintf( "Failed to write file %s!\n", $filename ), '
|
864 |
-
$readonly_str = __( sprintf( "File %s isn't writable!\n", $filename ), '
|
865 |
$wpfs = $this->get_filesystem_object();
|
866 |
if ( is_object( $wpfs ) ) {
|
867 |
$file_exists = $wpfs->exists( $filename );
|
@@ -881,10 +881,10 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
881 |
if ( is_object( $wpfs ) ) {
|
882 |
if ( $wpfs->exists( $filename ) ) {
|
883 |
if ( $wpfs->delete( $filename ) === FALSE)
|
884 |
-
$this->output_error( __( sprintf( "Failed to delete file %s!\n", $filename ), '
|
885 |
else
|
886 |
return true;
|
887 |
-
} else $this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), '
|
888 |
}
|
889 |
return false;
|
890 |
}
|
@@ -899,14 +899,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
899 |
$newfile_exists = $wpfs->exists( $newname );
|
900 |
if ( $file_exists && !$newfile_exists ) {
|
901 |
if ( $wpfs->move( $filename, $newname ) === FALSE)
|
902 |
-
$this->output_error( __( sprintf( "Failed to rename file %s!\n", $filename ), '
|
903 |
else
|
904 |
return true;
|
905 |
} else {
|
906 |
if ( !$file_exists )
|
907 |
-
$this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), '
|
908 |
elseif ( $newfile_exists )
|
909 |
-
$this->output_error( __( sprintf( "File %s already exists!\n", $newname ), '
|
910 |
}
|
911 |
}
|
912 |
return false;
|
@@ -1207,7 +1207,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1207 |
}
|
1208 |
if ( ( !empty( $ha ) && ( $ha[0] == 'h' ) ) ) $hl = '';
|
1209 |
if ( !empty( $ha ) || !isset( $this->help_anchors[$o] ) ) {
|
1210 |
-
$ht .= "<br /><a href='" . $hl . $ha . "' target='_blank'>" . __( "Click here for documentation on this setting", '
|
1211 |
}
|
1212 |
$default_options[$o]['help_text'] = $ht;
|
1213 |
}
|
@@ -1445,7 +1445,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1445 |
$title = $v['name'];
|
1446 |
if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
|
1447 |
if ( !empty( $v['help_link'] ) )
|
1448 |
-
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', '
|
1449 |
add_meta_box( $v['prefix'] . $k, $title, Array( $this, 'display_metabox' ), $posttype, $v['context'], $v['priority'], $v );
|
1450 |
}
|
1451 |
}
|
@@ -1582,7 +1582,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1582 |
if ( isset( $options['count_desc'] ) )
|
1583 |
$count_desc = $options['count_desc'];
|
1584 |
else
|
1585 |
-
$count_desc = __( ' characters. Most search engines use a maximum of %s chars for the %s.', '
|
1586 |
$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='" . $this->strlen($value) . "' />"
|
1587 |
. sprintf( $count_desc, $size, trim( $this->strtolower( $options['name'] ), ':' ) );
|
1588 |
if ( !empty( $onload ) ) $buf .= "<script>jQuery( document ).ready(function() { {$onload} });</script>";
|
@@ -1608,7 +1608,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1608 |
if ( isset( $opts['id'] ) ) $id_attr .= " id=\"{$opts['id']}_div\" ";
|
1609 |
if ( $opts['label'] != 'none' ) {
|
1610 |
if ( isset( $opts['help_text'] ) ) {
|
1611 |
-
$help_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_START, __( 'Click for Help!', '
|
1612 |
$help_text_2 = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_END, $name, $opts['help_text'] );
|
1613 |
} else $help_text = $opts['name'];
|
1614 |
$label_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_LABEL_FORMAT, $align, $help_text );
|
@@ -1635,7 +1635,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1635 |
}
|
1636 |
}
|
1637 |
if ( !empty( $help_link ) )
|
1638 |
-
echo "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $help_link . "'><span>" . __( 'Help', '
|
1639 |
|
1640 |
if ( !isset( $location_settings[$prefix] ) ) {
|
1641 |
$current_options = apply_filters( "{$this->prefix}display_options", $this->get_current_options( Array(), $location, $defaults ), $location );
|
@@ -1753,9 +1753,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1753 |
if ( (isset($_POST['action']) && $_POST['action'] == 'aiosp_update_module' &&
|
1754 |
( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) || !empty( $_POST['Submit'] ) ) ) ) {
|
1755 |
$nonce = $_POST['nonce-aioseop'];
|
1756 |
-
if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', '
|
1757 |
if ( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) ) {
|
1758 |
-
$message = __( "Options Reset.", '
|
1759 |
if ( isset($_POST['Submit_All_Default']) ) {
|
1760 |
$this->reset_options( $location, true );
|
1761 |
do_action( 'aioseop_options_reset' );
|
@@ -1764,7 +1764,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1764 |
}
|
1765 |
}
|
1766 |
if ( !empty( $_POST['Submit'] ) ) {
|
1767 |
-
$message = __("All in One SEO Options Updated.", '
|
1768 |
$default_options = $this->default_options( $location );
|
1769 |
foreach( $default_options as $k => $v ) {
|
1770 |
if ( isset( $_POST[$k] ) )
|
@@ -1810,8 +1810,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1810 |
'location' => Array( 'type' => 'hidden', 'value' => $location ),
|
1811 |
'nonce-aioseop' => Array( 'type' => 'hidden', 'value' => wp_create_nonce('aioseop-nonce') ),
|
1812 |
'page_options' => Array( 'type' => 'hidden', 'value' => 'aiosp_home_description' ),
|
1813 |
-
'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update Options', '
|
1814 |
-
'Submit_Default'=> Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( sprintf( 'Reset %s Settings to Defaults', $name ), '
|
1815 |
);
|
1816 |
$submit_options = apply_filters( "{$this->prefix}submit_options", $submit_options, $location );
|
1817 |
foreach ( $submit_options as $k => $s ) {
|
@@ -1830,7 +1830,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
|
|
1830 |
if ( !isset( $lopts['tab'] ) || ( $this->current_tab == $lopts['tab'] ) ) {
|
1831 |
$title = $lopts['name'];
|
1832 |
if ( !empty( $lopts['help_link'] ) )
|
1833 |
-
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', '
|
1834 |
add_meta_box( $this->get_prefix( $location ) . $l . "_metabox", $title, array($this, 'display_options' ),
|
1835 |
"{$this->prefix}settings", 'advanced', 'default', $lopts );
|
1836 |
}
|
39 |
function __call( $name, $arguments ) {
|
40 |
if ( $this->strpos( $name, "display_settings_page_" ) === 0 )
|
41 |
return $this->display_settings_page( $this->substr( $name, 22 ) );
|
42 |
+
$error = __( sprintf( "Method %s doesn't exist", $name ), 'all-in-one-seo-pack' );
|
43 |
if ( class_exists( 'BadMethodCallException' ) )
|
44 |
throw new BadMethodCallException( $error );
|
45 |
throw new Exception( $error );
|
860 |
* Save a file through WP Filesystem.
|
861 |
*/
|
862 |
function save_file( $filename, $contents ) {
|
863 |
+
$failed_str = __( sprintf( "Failed to write file %s!\n", $filename ), 'all-in-one-seo-pack' );
|
864 |
+
$readonly_str = __( sprintf( "File %s isn't writable!\n", $filename ), 'all-in-one-seo-pack' );
|
865 |
$wpfs = $this->get_filesystem_object();
|
866 |
if ( is_object( $wpfs ) ) {
|
867 |
$file_exists = $wpfs->exists( $filename );
|
881 |
if ( is_object( $wpfs ) ) {
|
882 |
if ( $wpfs->exists( $filename ) ) {
|
883 |
if ( $wpfs->delete( $filename ) === FALSE)
|
884 |
+
$this->output_error( __( sprintf( "Failed to delete file %s!\n", $filename ), 'all-in-one-seo-pack' ) );
|
885 |
else
|
886 |
return true;
|
887 |
+
} else $this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), 'all-in-one-seo-pack' ) );
|
888 |
}
|
889 |
return false;
|
890 |
}
|
899 |
$newfile_exists = $wpfs->exists( $newname );
|
900 |
if ( $file_exists && !$newfile_exists ) {
|
901 |
if ( $wpfs->move( $filename, $newname ) === FALSE)
|
902 |
+
$this->output_error( __( sprintf( "Failed to rename file %s!\n", $filename ), 'all-in-one-seo-pack' ) );
|
903 |
else
|
904 |
return true;
|
905 |
} else {
|
906 |
if ( !$file_exists )
|
907 |
+
$this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), 'all-in-one-seo-pack' ) );
|
908 |
elseif ( $newfile_exists )
|
909 |
+
$this->output_error( __( sprintf( "File %s already exists!\n", $newname ), 'all-in-one-seo-pack' ) );
|
910 |
}
|
911 |
}
|
912 |
return false;
|
1207 |
}
|
1208 |
if ( ( !empty( $ha ) && ( $ha[0] == 'h' ) ) ) $hl = '';
|
1209 |
if ( !empty( $ha ) || !isset( $this->help_anchors[$o] ) ) {
|
1210 |
+
$ht .= "<br /><a href='" . $hl . $ha . "' target='_blank'>" . __( "Click here for documentation on this setting", 'all-in-one-seo-pack' ) . "</a>";
|
1211 |
}
|
1212 |
$default_options[$o]['help_text'] = $ht;
|
1213 |
}
|
1445 |
$title = $v['name'];
|
1446 |
if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
|
1447 |
if ( !empty( $v['help_link'] ) )
|
1448 |
+
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
|
1449 |
add_meta_box( $v['prefix'] . $k, $title, Array( $this, 'display_metabox' ), $posttype, $v['context'], $v['priority'], $v );
|
1450 |
}
|
1451 |
}
|
1582 |
if ( isset( $options['count_desc'] ) )
|
1583 |
$count_desc = $options['count_desc'];
|
1584 |
else
|
1585 |
+
$count_desc = __( ' characters. Most search engines use a maximum of %s chars for the %s.', 'all-in-one-seo-pack' );
|
1586 |
$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='" . $this->strlen($value) . "' />"
|
1587 |
. sprintf( $count_desc, $size, trim( $this->strtolower( $options['name'] ), ':' ) );
|
1588 |
if ( !empty( $onload ) ) $buf .= "<script>jQuery( document ).ready(function() { {$onload} });</script>";
|
1608 |
if ( isset( $opts['id'] ) ) $id_attr .= " id=\"{$opts['id']}_div\" ";
|
1609 |
if ( $opts['label'] != 'none' ) {
|
1610 |
if ( isset( $opts['help_text'] ) ) {
|
1611 |
+
$help_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_START, __( 'Click for Help!', 'all-in-one-seo-pack' ), $name, $opts['name'] );
|
1612 |
$help_text_2 = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_END, $name, $opts['help_text'] );
|
1613 |
} else $help_text = $opts['name'];
|
1614 |
$label_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_LABEL_FORMAT, $align, $help_text );
|
1635 |
}
|
1636 |
}
|
1637 |
if ( !empty( $help_link ) )
|
1638 |
+
echo "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $help_link . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
|
1639 |
|
1640 |
if ( !isset( $location_settings[$prefix] ) ) {
|
1641 |
$current_options = apply_filters( "{$this->prefix}display_options", $this->get_current_options( Array(), $location, $defaults ), $location );
|
1753 |
if ( (isset($_POST['action']) && $_POST['action'] == 'aiosp_update_module' &&
|
1754 |
( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) || !empty( $_POST['Submit'] ) ) ) ) {
|
1755 |
$nonce = $_POST['nonce-aioseop'];
|
1756 |
+
if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', 'all-in-one-seo-pack' ) );
|
1757 |
if ( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) ) {
|
1758 |
+
$message = __( "Options Reset.", 'all-in-one-seo-pack' );
|
1759 |
if ( isset($_POST['Submit_All_Default']) ) {
|
1760 |
$this->reset_options( $location, true );
|
1761 |
do_action( 'aioseop_options_reset' );
|
1764 |
}
|
1765 |
}
|
1766 |
if ( !empty( $_POST['Submit'] ) ) {
|
1767 |
+
$message = __("All in One SEO Options Updated.", 'all-in-one-seo-pack');
|
1768 |
$default_options = $this->default_options( $location );
|
1769 |
foreach( $default_options as $k => $v ) {
|
1770 |
if ( isset( $_POST[$k] ) )
|
1810 |
'location' => Array( 'type' => 'hidden', 'value' => $location ),
|
1811 |
'nonce-aioseop' => Array( 'type' => 'hidden', 'value' => wp_create_nonce('aioseop-nonce') ),
|
1812 |
'page_options' => Array( 'type' => 'hidden', 'value' => 'aiosp_home_description' ),
|
1813 |
+
'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update Options', 'all-in-one-seo-pack') . ' »' ),
|
1814 |
+
'Submit_Default'=> Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( sprintf( 'Reset %s Settings to Defaults', $name ), 'all-in-one-seo-pack') . ' »' )
|
1815 |
);
|
1816 |
$submit_options = apply_filters( "{$this->prefix}submit_options", $submit_options, $location );
|
1817 |
foreach ( $submit_options as $k => $s ) {
|
1830 |
if ( !isset( $lopts['tab'] ) || ( $this->current_tab == $lopts['tab'] ) ) {
|
1831 |
$title = $lopts['name'];
|
1832 |
if ( !empty( $lopts['help_link'] ) )
|
1833 |
+
$title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
|
1834 |
add_meta_box( $this->get_prefix( $location ) . $l . "_metabox", $title, array($this, 'display_options' ),
|
1835 |
"{$this->prefix}settings", 'advanced', 'default', $lopts );
|
1836 |
}
|
aioseop_opengraph.php
CHANGED
@@ -11,116 +11,116 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
11 |
var $type;
|
12 |
|
13 |
function All_in_One_SEO_Pack_Opengraph( ) {
|
14 |
-
$this->name = __('Social Meta', '
|
15 |
$this->prefix = 'aiosp_opengraph_'; // option prefix
|
16 |
$this->file = __FILE__; // the current file
|
17 |
$this->fb_object_types = Array(
|
18 |
'Activities' => Array(
|
19 |
-
'activity' => __( 'Activity', '
|
20 |
-
'sport' => __( 'Sport', '
|
21 |
),
|
22 |
'Businesses' => Array(
|
23 |
-
'bar' => __( 'Bar', '
|
24 |
-
'company' => __( 'Company', '
|
25 |
-
'cafe' => __( 'Cafe', '
|
26 |
-
'hotel' => __( 'Hotel', '
|
27 |
-
'restaurant' => __( 'Restaurant', '
|
28 |
),
|
29 |
'Groups' => Array(
|
30 |
-
'cause' => __( 'Cause', '
|
31 |
-
'sports_league' => __( 'Sports League', '
|
32 |
-
'sports_team' => __( 'Sports Team', '
|
33 |
),
|
34 |
'Organizations' => Array(
|
35 |
-
'band' => __( 'Band', '
|
36 |
-
'government' => __( 'Government', '
|
37 |
-
'non_profit' => __( 'Non Profit', '
|
38 |
-
'school' => __( 'School', '
|
39 |
-
'university' => __( 'University', '
|
40 |
),
|
41 |
'People' => Array(
|
42 |
-
'actor' => __( 'Actor', '
|
43 |
-
'athlete' => __( 'Athlete', '
|
44 |
-
'author' => __( 'Author', '
|
45 |
-
'director' => __( 'Director', '
|
46 |
-
'musician' => __( 'Musician', '
|
47 |
-
'politician' => __( 'Politician', '
|
48 |
-
'profile' => __( 'Profile', '
|
49 |
-
'public_figure' => __( 'Public Figure', '
|
50 |
),
|
51 |
'Places' => Array(
|
52 |
-
'city' => __( 'City', '
|
53 |
-
'country' => __( 'Country', '
|
54 |
-
'landmark' => __( 'Landmark', '
|
55 |
-
'state_province' => __( 'State Province', '
|
56 |
),
|
57 |
'Products and Entertainment' => Array(
|
58 |
-
'album' => __( 'Album', '
|
59 |
-
'book' => __( 'Book', '
|
60 |
-
'drink' => __( 'Drink', '
|
61 |
-
'food' => __( 'Food', '
|
62 |
-
'game' => __( 'Game', '
|
63 |
-
'movie' => __( 'Movie', '
|
64 |
-
'product' => __( 'Product', '
|
65 |
-
'song' => __( 'Song', '
|
66 |
-
'tv_show' => __( 'TV Show', '
|
67 |
-
'episode' => __( 'Episode', '
|
68 |
),'Websites' => Array(
|
69 |
-
'article' => __( 'Article', '
|
70 |
-
'blog' => __( 'Blog', '
|
71 |
-
'website' => __( 'Website', '
|
72 |
)
|
73 |
);
|
74 |
parent::__construct();
|
75 |
|
76 |
-
$categories = Array( 'blog' => __( 'Blog', '
|
77 |
|
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.", '
|
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", '
|
81 |
-
"title_shortcodes" => __( "Run shortcodes that appear in social title meta tags.", '
|
82 |
-
"description_shortcodes"=> __( "Run shortcodes that appear in social description meta tags.", '
|
83 |
-
"sitename" => __( "The Site Name is the name that is used to identify your website.", '
|
84 |
-
"hometitle" => __( "The Home Title is the Open Graph title for your home page.", '
|
85 |
-
"description" => __( "The Home Description is the Open Graph description for your home page.", '
|
86 |
-
"homeimage" => __( "The Home Image is the Open Graph image for your home page.", '
|
87 |
-
"hometag" => __( "The Home Tag allows you to add a list of keywords that best describe your home page content.", '
|
88 |
-
"generate_descriptions" => __( "Check this and your Open Graph descriptions will be auto-generated from your content.", '
|
89 |
-
"defimg" => __( "This option lets you choose which image will be displayed by default for the Open Graph image. You may override this on individual posts.", '
|
90 |
-
"fallback" => __( "This option lets you fall back to the default image if no image could be found above.", '
|
91 |
-
"dimg" => __( "This option sets a default image that can be used for the Open Graph image. You can upload an image, select an image from your Media Library or paste the URL of an image here.", '
|
92 |
-
"dimgwidth" => __( "This option lets you set a default width for your images, where unspecified.",
|
93 |
-
"dimgheight" => __( "This option lets you set a default height for your images, where unspecified.",
|
94 |
-
"meta_key" => __( "Enter the name of a custom field (or multiple field names separated by commas) to use that field to specify the Open Graph image on Pages or Posts.", '
|
95 |
-
"categories" => __( "Set the Open Graph type for your website as either a blog or a website.", '
|
96 |
-
"image" => __( "This option lets you select the Open Graph image that will be used for this Page or Post, overriding the default settings.", '
|
97 |
-
"customimg" => __( "This option lets you upload an image to use as the Open Graph image for this Page or Post.", '
|
98 |
-
"imagewidth" => __( "Enter the width for your Open Graph image in pixels (i.e. 600).", '
|
99 |
-
"imageheight" => __( "Enter the height for your Open Graph image in pixels (i.e. 600).", '
|
100 |
-
"video" => __( "This option lets you specify a link to the Open Graph video used on this Page or Post.", '
|
101 |
-
"videowidth" => __( "Enter the width for your Open Graph video in pixels (i.e. 600).", '
|
102 |
-
"videoheight" => __( "Enter the height for your Open Graph video in pixels (i.e. 600).", '
|
103 |
-
"defcard" => __( "Select the default type of Twitter card to display.", '
|
104 |
-
"setcard" => __( "Select the default type of Twitter card to display.", '
|
105 |
-
"twitter_site" => __( "Enter the Twitter username associated with your website here.", '
|
106 |
-
"twitter_creator" => __( "Allows your authors to be identified by their Twitter usernames as content creators on the Twitter cards for their posts.", '
|
107 |
-
"twitter_domain" => __( "Enter the name of your website here.", '
|
108 |
-
"gen_tags" => __( "Automatically generate article tags for Facebook type article when not provided.", '
|
109 |
-
"gen_keywords" => __( "Use keywords in generated article tags.", '
|
110 |
-
"gen_categories" => __( "Use catergories in generated article tags.", '
|
111 |
-
"gen_post_tags" => __( "Use post tags in generated article tags.", '
|
112 |
-
"types" => __( "Select which Post Types you want to use All in One SEO Pack to set Open Graph meta values for.", '
|
113 |
-
"title" => __( "This is the Open Graph title of this Page or Post.", '
|
114 |
-
"desc" => __( "This is the Open Graph description of this Page or Post.", '
|
115 |
-
"category" => __( "Select the Open Graph type that best describes the content of this Page or Post.", '
|
116 |
-
"facebook_debug" => __( "Press this button to have Facebook re-fetch and debug this page.", '
|
117 |
-
"section" => __( "This Open Graph meta allows you to add a general section name that best describes this content.", '
|
118 |
-
"tag" => __( "This Open Graph meta allows you to add a list of keywords that best describe this content.", '
|
119 |
-
"facebook_publisher" => __( "Link articles to the Facebook page associated with your website.", '
|
120 |
-
"facebook_author" => __( "Allows your authors to be identified by their Facebook pages as content authors on the Opengraph meta for their articles.", '
|
121 |
-
"person_or_org" => __( "Are the social profile links for your website for a person or an organization?", '
|
122 |
-
"profile_links" => __( "Add URLs for your website's social profiles here (Facebook, Twitter, Google+, Instagram, LinkedIn), one per line.", '
|
123 |
-
"social_name" => __( "Add the name of the person or organization who owns these profiles.", '
|
124 |
);
|
125 |
|
126 |
$this->help_anchors = Array(
|
@@ -147,73 +147,73 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
147 |
'scan_header' => '#scan-social-meta'
|
148 |
);
|
149 |
|
150 |
-
$count_desc = __( " characters. Open Graph allows up to a maximum of %s chars for the %s.", '
|
151 |
$this->default_options = array(
|
152 |
-
'scan_header'=> Array( 'name' => __( 'Scan Header', '
|
153 |
-
'setmeta' => Array( 'name' => __( 'Use AIOSEO Title and Description', '
|
154 |
-
'key' => Array( 'name' => __( 'Profile Admins ID', '
|
155 |
-
'title_shortcodes' => Array('name' => __( 'Run Shortcodes In Title', '
|
156 |
-
'description_shortcodes' => Array('name' => __( 'Run Shortcodes In Description', '
|
157 |
-
'sitename' => Array( 'name' => __( 'Site Name', '
|
158 |
-
'hometitle' => Array( 'name' => __( 'Home Title', '
|
159 |
'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
|
160 |
-
'description' => Array( 'name' => __( 'Home Description', '
|
161 |
'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
|
162 |
-
'homeimage' => Array( 'name' => __( 'Home Image', '
|
163 |
'type' => 'image' ),
|
164 |
-
'hometag' => Array('name' => __( 'Home Article Tags', '
|
165 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aiosp_opengraph_categories' => 'article' ) ),
|
166 |
-
'generate_descriptions' => Array( 'name' => __( 'Autogenerate OG Descriptions', '
|
167 |
-
'defimg' => Array( 'name' => __( 'Select OG:Image Source', '
|
168 |
-
'fallback' => Array( 'name' => __( 'Use Default If No Image Found', '
|
169 |
-
'dimg' => Array( 'name' => __( 'Default OG:Image', '
|
170 |
-
'dimgwidth' => Array( 'name' => __( 'Default Image Width', '
|
171 |
'type' => 'text', 'default' => '' ),
|
172 |
-
'dimgheight' => Array( 'name' => __( 'Default Image Height', '
|
173 |
'type' => 'text', 'default' => '' ),
|
174 |
-
'meta_key' => Array( 'name' => __( 'Use Custom Field For Image', '
|
175 |
-
'categories' => Array( 'name' => __( 'Facebook Object Type', '
|
176 |
'type' => 'radio', 'initial_options' => $categories, 'default' => 'blog' ),
|
177 |
-
'image' => Array( 'name' => __( 'Image', '
|
178 |
'type' => 'radio', 'initial_options' => Array( 0 => '<img style="width:50px;height:auto;display:inline-block;vertical-align:bottom;" src="' . AIOSEOP_PLUGIN_IMAGES_URL . 'default-user-image.png' . '">' ) ),
|
179 |
-
'customimg' => Array( 'name' => __( 'Custom Image', '
|
180 |
'type' => 'image' ),
|
181 |
-
'imagewidth' => Array( 'name' => __( 'Specify Image Width', '
|
182 |
'type' => 'text', 'default' => '' ),
|
183 |
-
'imageheight' => Array( 'name' => __( 'Specify Image Height', '
|
184 |
'type' => 'text', 'default' => '' ),
|
185 |
-
'video' => Array( 'name' => __( 'Custom Video', '
|
186 |
'type' => 'text' ),
|
187 |
-
'videowidth' => Array( 'name' => __( 'Specify Video Width', '
|
188 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
|
189 |
-
'videoheight' => Array( 'name' => __( 'Specify Video Height', '
|
190 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
|
191 |
-
'defcard' => Array( 'name' => __( 'Default Twitter Card', '
|
192 |
-
'type' => 'select', 'initial_options' => Array( 'summary' => __( 'Summary', '
|
193 |
-
'setcard' => Array( 'name' => __( 'Twitter Card Type', '
|
194 |
-
'type' => 'select', 'initial_options' => Array( '
|
195 |
-
'twitter_site' => Array( 'name' => __( 'Twitter Site', '
|
196 |
'type' => 'text', 'default' => '' ),
|
197 |
-
'twitter_creator'=>Array( 'name' => __( 'Show Twitter Author', '
|
198 |
-
'twitter_domain'=> Array( 'name' => __( 'Twitter Domain', '
|
199 |
'type' => 'text', 'default' => '' ),
|
200 |
-
'gen_tags' => Array( 'name' => __( 'Automatically Generate Article Tags', '
|
201 |
-
'gen_keywords' => Array( 'name' => __( 'Use Keywords In Article Tags', '
|
202 |
-
'gen_categories'=> Array( 'name' => __( 'Use Categories In Article Tags', '
|
203 |
-
'gen_post_tags' => Array( 'name' => __( 'Use Post Tags In Article Tags', '
|
204 |
-
'types' => Array( 'name' => __( 'Enable Facebook Meta for', '
|
205 |
'type' => 'multicheckbox', 'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ),
|
206 |
'default' => Array( 'post' => 'post', 'page' => 'page' ) ),
|
207 |
-
'title' => Array( 'name' => __( 'Title', '
|
208 |
'default' => '', 'type' => 'text', 'size' => 95, 'count' => 1, 'count_desc' => $count_desc ),
|
209 |
-
'desc' => Array( 'name' => __( 'Description', '
|
210 |
'default' => '', 'type' => 'textarea', 'cols' => 250, 'rows' => 4, 'count' => 1, 'count_desc' => $count_desc ),
|
211 |
-
'category' => Array( 'name' => __( 'Facebook Object Type', '
|
212 |
'type' => 'select', 'style' => '',
|
213 |
'initial_options' => $this->fb_object_types,
|
214 |
'default' => ''
|
215 |
),
|
216 |
-
'facebook_debug'=> Array( 'name' => __( 'Facebook Debug', '
|
217 |
'default' =>
|
218 |
'<script>
|
219 |
jQuery(document).ready(function() {
|
@@ -226,19 +226,19 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
226 |
}
|
227 |
});
|
228 |
</script>
|
229 |
-
<a name="aioseop_opengraph_settings_facebook_debug" id="aioseop_opengraph_settings_facebook_debug" class="button-primary" href="" target=_blank>' . __( 'Debug This Post', '
|
230 |
. '</a>' ),
|
231 |
|
232 |
-
'section' => Array( 'name' => __( 'Article Section', '
|
233 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
|
234 |
-
'tag' => Array( 'name' => __( 'Article Tags', '
|
235 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
|
236 |
-
'facebook_publisher'=>Array('name' => __( 'Show Facebook Publisher on Articles', '
|
237 |
-
'facebook_author' =>Array('name' => __( 'Show Facebook Author on Articles', '
|
238 |
-
'profile_links' =>Array('name' => __( 'Social Profile Links', '
|
239 |
-
'person_or_org' =>Array('name' => __( 'Person or Organization?', '
|
240 |
-
'type' => 'radio', 'initial_options' => Array( 'person' => __( 'Person', '
|
241 |
-
'social_name' =>Array('name' => __( "Associated Name", '
|
242 |
);
|
243 |
|
244 |
// load initial options / set defaults
|
@@ -252,7 +252,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
252 |
'options' => Array('scan_header', 'setmeta', 'key', 'sitename', 'title_shortcodes', 'description_shortcodes', 'hometitle', 'description', 'homeimage', 'hometag', 'generate_descriptions', 'defimg',
|
253 |
'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key', 'categories', 'defcard', 'profile_links', 'person_or_org', 'social_name', 'twitter_site', 'twitter_creator', 'twitter_domain', 'gen_tags', 'gen_keywords', 'gen_categories',
|
254 |
'gen_post_tags', 'types', 'facebook_publisher', 'facebook_author' ) ),
|
255 |
-
'settings' => Array( 'name' => __('Social Settings', '
|
256 |
'type' => 'metabox', 'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#pagepost_settings',
|
257 |
'options' => Array( 'title', 'desc', 'image', 'customimg', 'imagewidth', 'imageheight', 'video', 'videowidth', 'videoheight', 'category', 'facebook_debug', 'section', 'tag', 'setcard' ),
|
258 |
'display' => $display, 'prefix' => 'aioseop_opengraph_'
|
@@ -261,37 +261,37 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
261 |
|
262 |
$this->layout = Array(
|
263 |
'default' => Array(
|
264 |
-
'name' => __( 'General Settings', '
|
265 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
266 |
'options' => Array() // this is set below, to the remaining options -- pdb
|
267 |
),
|
268 |
'home' => Array(
|
269 |
-
'name' => __( 'Home Page Settings', '
|
270 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
271 |
'options' => Array( 'setmeta', 'sitename', 'hometitle', 'description', 'homeimage', 'hometag' )
|
272 |
),
|
273 |
'image' => Array(
|
274 |
-
'name' => __( 'Image Settings', '
|
275 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
276 |
'options' => Array( 'defimg', 'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key' )
|
277 |
),
|
278 |
'links' => Array(
|
279 |
-
'name' => __( 'Social Profile Links', '
|
280 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
281 |
'options' => Array( 'profile_links', 'person_or_org', 'social_name' )
|
282 |
),
|
283 |
'facebook' => Array(
|
284 |
-
'name' => __( 'Facebook Settings', '
|
285 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
286 |
'options' => Array( 'key', 'types', 'gen_tags', 'gen_keywords', 'gen_categories', 'gen_post_tags', 'categories', 'facebook_publisher', 'facebook_author' )
|
287 |
),
|
288 |
'twitter' => Array(
|
289 |
-
'name' => __( 'Twitter Settings', '
|
290 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
291 |
'options' => Array( 'defcard', 'setcard', 'twitter_site', 'twitter_creator', 'twitter_domain' )
|
292 |
),
|
293 |
'scan_meta' => Array(
|
294 |
-
'name' => __( 'Scan Social Meta', '
|
295 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#scan_meta',
|
296 |
'options' => Array( 'scan_header' )
|
297 |
)
|
@@ -322,12 +322,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
322 |
if ( $cat == 'blog' ) {
|
323 |
$show_on_front = get_option( 'show_on_front' );
|
324 |
if ( ( $show_on_front == 'page' ) && ( get_option( 'page_on_front' ) ) ) {
|
325 |
-
$this->output_error( '<p>' . __( "Static front page detected, suggested Facebook Object Type is 'website'.", '
|
326 |
}
|
327 |
} elseif ( $cat == 'website' ) {
|
328 |
$show_on_front = get_option( 'show_on_front' );
|
329 |
if ( ( $show_on_front == 'posts' ) )
|
330 |
-
$this->output_error( '<p>' . __( "Blog on front page detected, suggested Facebook Object Type is 'blog'.", '
|
331 |
}
|
332 |
}
|
333 |
}
|
@@ -374,7 +374,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
374 |
}
|
375 |
}
|
376 |
$settings[$prefix . 'category']['initial_options'] = array_merge( Array(
|
377 |
-
$this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] => __( 'Default ', '
|
378 |
. $flat_type_list[ $this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] ] ),
|
379 |
$settings[$prefix . 'category']['initial_options'] );
|
380 |
}
|
@@ -421,8 +421,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
421 |
$buf .= '<div class="aioseop aioseop_options aiosp_opengraph_settings"><div class="aioseop_wrapper aioseop_custom_type" id="aiosp_opengraph_scan_header_wrapper"><div class="aioseop_input" id="aiosp_opengraph_scan_header" style="padding-left:20px;">';
|
422 |
$args['options']['type'] = 'submit';
|
423 |
$args['attr'] = " class='button-primary' ";
|
424 |
-
$args['value'] = $args['options']['default'] = __( 'Scan Now', '
|
425 |
-
$buf .= __( 'Scan your site for duplicate social meta tags.', '
|
426 |
$buf .= '<br /><br />' . $this->get_option_html( $args );
|
427 |
$buf .= '</div></div></div>';
|
428 |
}
|
@@ -684,7 +684,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
684 |
|
685 |
if ( !empty( $metabox['aioseop_opengraph_settings_setcard'] ) )
|
686 |
$card = $metabox['aioseop_opengraph_settings_setcard'];
|
687 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
$site = $domain = $creator = '';
|
689 |
|
690 |
if ( !empty( $this->options['aiosp_opengraph_twitter_site'] ) )
|
@@ -726,13 +733,23 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
|
|
726 |
'site' => 'twitter:site',
|
727 |
'creator' => 'twitter:creator',
|
728 |
'domain' => 'twitter:domain',
|
|
|
729 |
'description' => 'twitter:description',
|
|
|
730 |
),
|
731 |
-
|
|
|
732 |
'thumbnail' => 'image',
|
733 |
-
)
|
734 |
);
|
735 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
736 |
// Add links to testing tools
|
737 |
|
738 |
/*
|
@@ -851,14 +868,14 @@ END;
|
|
851 |
foreach( $post_types as $slug => $name ) {
|
852 |
$field = $slug . '_fb_object_type';
|
853 |
$this->default_options[$field] = Array(
|
854 |
-
'name' => "$name " . __( 'Object Type', '
|
855 |
'type' => 'select',
|
856 |
'style' => '',
|
857 |
'initial_options' => $this->fb_object_types,
|
858 |
'default' => 'article',
|
859 |
'condshow' => Array( 'aiosp_opengraph_types\[\]' => $slug )
|
860 |
);
|
861 |
-
$this->help_text[$field] = __( 'Choose a default value that best describes the content of your post type.', '
|
862 |
$this->help_anchors[$field] = '#content-object-types';
|
863 |
$this->locations['opengraph']['options'][] = $field;
|
864 |
$this->layout['facebook']['options'][] = $field;
|
11 |
var $type;
|
12 |
|
13 |
function All_in_One_SEO_Pack_Opengraph( ) {
|
14 |
+
$this->name = __('Social Meta', 'all-in-one-seo-pack'); // Human-readable name of the plugin
|
15 |
$this->prefix = 'aiosp_opengraph_'; // option prefix
|
16 |
$this->file = __FILE__; // the current file
|
17 |
$this->fb_object_types = Array(
|
18 |
'Activities' => Array(
|
19 |
+
'activity' => __( 'Activity', 'all-in-one-seo-pack' ),
|
20 |
+
'sport' => __( 'Sport', 'all-in-one-seo-pack' )
|
21 |
),
|
22 |
'Businesses' => Array(
|
23 |
+
'bar' => __( 'Bar', 'all-in-one-seo-pack' ),
|
24 |
+
'company' => __( 'Company', 'all-in-one-seo-pack' ),
|
25 |
+
'cafe' => __( 'Cafe', 'all-in-one-seo-pack' ),
|
26 |
+
'hotel' => __( 'Hotel', 'all-in-one-seo-pack' ),
|
27 |
+
'restaurant' => __( 'Restaurant', 'all-in-one-seo-pack' )
|
28 |
),
|
29 |
'Groups' => Array(
|
30 |
+
'cause' => __( 'Cause', 'all-in-one-seo-pack' ),
|
31 |
+
'sports_league' => __( 'Sports League', 'all-in-one-seo-pack' ),
|
32 |
+
'sports_team' => __( 'Sports Team', 'all-in-one-seo-pack' )
|
33 |
),
|
34 |
'Organizations' => Array(
|
35 |
+
'band' => __( 'Band', 'all-in-one-seo-pack' ),
|
36 |
+
'government' => __( 'Government', 'all-in-one-seo-pack' ),
|
37 |
+
'non_profit' => __( 'Non Profit', 'all-in-one-seo-pack' ),
|
38 |
+
'school' => __( 'School', 'all-in-one-seo-pack' ),
|
39 |
+
'university' => __( 'University', 'all-in-one-seo-pack' )
|
40 |
),
|
41 |
'People' => Array(
|
42 |
+
'actor' => __( 'Actor', 'all-in-one-seo-pack' ),
|
43 |
+
'athlete' => __( 'Athlete', 'all-in-one-seo-pack' ),
|
44 |
+
'author' => __( 'Author', 'all-in-one-seo-pack' ),
|
45 |
+
'director' => __( 'Director', 'all-in-one-seo-pack' ),
|
46 |
+
'musician' => __( 'Musician', 'all-in-one-seo-pack' ),
|
47 |
+
'politician' => __( 'Politician', 'all-in-one-seo-pack' ),
|
48 |
+
'profile' => __( 'Profile', 'all-in-one-seo-pack' ),
|
49 |
+
'public_figure' => __( 'Public Figure', 'all-in-one-seo-pack' )
|
50 |
),
|
51 |
'Places' => Array(
|
52 |
+
'city' => __( 'City', 'all-in-one-seo-pack' ),
|
53 |
+
'country' => __( 'Country', 'all-in-one-seo-pack' ),
|
54 |
+
'landmark' => __( 'Landmark', 'all-in-one-seo-pack' ),
|
55 |
+
'state_province' => __( 'State Province', 'all-in-one-seo-pack' )
|
56 |
),
|
57 |
'Products and Entertainment' => Array(
|
58 |
+
'album' => __( 'Album', 'all-in-one-seo-pack' ),
|
59 |
+
'book' => __( 'Book', 'all-in-one-seo-pack' ),
|
60 |
+
'drink' => __( 'Drink', 'all-in-one-seo-pack' ),
|
61 |
+
'food' => __( 'Food', 'all-in-one-seo-pack' ),
|
62 |
+
'game' => __( 'Game', 'all-in-one-seo-pack' ),
|
63 |
+
'movie' => __( 'Movie', 'all-in-one-seo-pack' ),
|
64 |
+
'product' => __( 'Product', 'all-in-one-seo-pack' ),
|
65 |
+
'song' => __( 'Song', 'all-in-one-seo-pack' ),
|
66 |
+
'tv_show' => __( 'TV Show', 'all-in-one-seo-pack' ),
|
67 |
+
'episode' => __( 'Episode', 'all-in-one-seo-pack' )
|
68 |
),'Websites' => Array(
|
69 |
+
'article' => __( 'Article', 'all-in-one-seo-pack' ),
|
70 |
+
'blog' => __( 'Blog', 'all-in-one-seo-pack' ),
|
71 |
+
'website' => __( 'Website', 'all-in-one-seo-pack' )
|
72 |
)
|
73 |
);
|
74 |
parent::__construct();
|
75 |
|
76 |
+
$categories = Array( 'blog' => __( 'Blog', 'all-in-one-seo-pack' ), 'website' => __( 'Website', 'all-in-one-seo-pack' ), 'article' => __( 'Article', 'all-in-one-seo-pack' ) );
|
77 |
|
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' ),
|
86 |
+
"homeimage" => __( "The Home Image is the Open Graph image for your home page.", 'all-in-one-seo-pack' ),
|
87 |
+
"hometag" => __( "The Home Tag allows you to add a list of keywords that best describe your home page content.", 'all-in-one-seo-pack' ),
|
88 |
+
"generate_descriptions" => __( "Check this and your Open Graph descriptions will be auto-generated from your content.", 'all-in-one-seo-pack' ),
|
89 |
+
"defimg" => __( "This option lets you choose which image will be displayed by default for the Open Graph image. You may override this on individual posts.", 'all-in-one-seo-pack' ),
|
90 |
+
"fallback" => __( "This option lets you fall back to the default image if no image could be found above.", 'all-in-one-seo-pack' ),
|
91 |
+
"dimg" => __( "This option sets a default image that can be used for the Open Graph image. You can upload an image, select an image from your Media Library or paste the URL of an image here.", 'all-in-one-seo-pack' ),
|
92 |
+
"dimgwidth" => __( "This option lets you set a default width for your images, where unspecified.", 'all-in-one-seo-pack' ),
|
93 |
+
"dimgheight" => __( "This option lets you set a default height for your images, where unspecified.", 'all-in-one-seo-pack' ),
|
94 |
+
"meta_key" => __( "Enter the name of a custom field (or multiple field names separated by commas) to use that field to specify the Open Graph image on Pages or Posts.", 'all-in-one-seo-pack' ),
|
95 |
+
"categories" => __( "Set the Open Graph type for your website as either a blog or a website.", 'all-in-one-seo-pack' ),
|
96 |
+
"image" => __( "This option lets you select the Open Graph image that will be used for this Page or Post, overriding the default settings.", 'all-in-one-seo-pack' ),
|
97 |
+
"customimg" => __( "This option lets you upload an image to use as the Open Graph image for this Page or Post.", 'all-in-one-seo-pack' ),
|
98 |
+
"imagewidth" => __( "Enter the width for your Open Graph image in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
|
99 |
+
"imageheight" => __( "Enter the height for your Open Graph image in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
|
100 |
+
"video" => __( "This option lets you specify a link to the Open Graph video used on this Page or Post.", 'all-in-one-seo-pack' ),
|
101 |
+
"videowidth" => __( "Enter the width for your Open Graph video in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
|
102 |
+
"videoheight" => __( "Enter the height for your Open Graph video in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
|
103 |
+
"defcard" => __( "Select the default type of Twitter card to display.", 'all-in-one-seo-pack' ),
|
104 |
+
"setcard" => __( "Select the default type of Twitter card to display.", 'all-in-one-seo-pack' ),
|
105 |
+
"twitter_site" => __( "Enter the Twitter username associated with your website here.", 'all-in-one-seo-pack' ),
|
106 |
+
"twitter_creator" => __( "Allows your authors to be identified by their Twitter usernames as content creators on the Twitter cards for their posts.", 'all-in-one-seo-pack' ),
|
107 |
+
"twitter_domain" => __( "Enter the name of your website here.", 'all-in-one-seo-pack' ),
|
108 |
+
"gen_tags" => __( "Automatically generate article tags for Facebook type article when not provided.", 'all-in-one-seo-pack' ),
|
109 |
+
"gen_keywords" => __( "Use keywords in generated article tags.", 'all-in-one-seo-pack' ),
|
110 |
+
"gen_categories" => __( "Use catergories in generated article tags.", 'all-in-one-seo-pack' ),
|
111 |
+
"gen_post_tags" => __( "Use post tags in generated article tags.", 'all-in-one-seo-pack' ),
|
112 |
+
"types" => __( "Select which Post Types you want to use All in One SEO Pack to set Open Graph meta values for.", 'all-in-one-seo-pack' ),
|
113 |
+
"title" => __( "This is the Open Graph title of this Page or Post.", 'all-in-one-seo-pack' ),
|
114 |
+
"desc" => __( "This is the Open Graph description of this Page or Post.", 'all-in-one-seo-pack' ),
|
115 |
+
"category" => __( "Select the Open Graph type that best describes the content of this Page or Post.", 'all-in-one-seo-pack' ),
|
116 |
+
"facebook_debug" => __( "Press this button to have Facebook re-fetch and debug this page.", 'all-in-one-seo-pack' ),
|
117 |
+
"section" => __( "This Open Graph meta allows you to add a general section name that best describes this content.", 'all-in-one-seo-pack' ),
|
118 |
+
"tag" => __( "This Open Graph meta allows you to add a list of keywords that best describe this content.", 'all-in-one-seo-pack' ),
|
119 |
+
"facebook_publisher" => __( "Link articles to the Facebook page associated with your website.", 'all-in-one-seo-pack' ),
|
120 |
+
"facebook_author" => __( "Allows your authors to be identified by their Facebook pages as content authors on the Opengraph meta for their articles.", 'all-in-one-seo-pack' ),
|
121 |
+
"person_or_org" => __( "Are the social profile links for your website for a person or an organization?", 'all-in-one-seo-pack' ),
|
122 |
+
"profile_links" => __( "Add URLs for your website's social profiles here (Facebook, Twitter, Google+, Instagram, LinkedIn), one per line.", 'all-in-one-seo-pack' ),
|
123 |
+
"social_name" => __( "Add the name of the person or organization who owns these profiles.", 'all-in-one-seo-pack' )
|
124 |
);
|
125 |
|
126 |
$this->help_anchors = Array(
|
147 |
'scan_header' => '#scan-social-meta'
|
148 |
);
|
149 |
|
150 |
+
$count_desc = __( " characters. Open Graph allows up to a maximum of %s chars for the %s.", 'all-in-one-seo-pack' );
|
151 |
$this->default_options = array(
|
152 |
+
'scan_header'=> Array( 'name' => __( 'Scan Header', 'all-in-one-seo-pack' ), 'type' => 'custom', 'save' => true ),
|
153 |
+
'setmeta' => Array( 'name' => __( 'Use AIOSEO Title and Description', 'all-in-one-seo-pack'), 'type' => 'checkbox' ),
|
154 |
+
'key' => Array( 'name' => __( 'Profile Admins ID', 'all-in-one-seo-pack'), 'default' => '', 'type' => 'text' ),
|
155 |
+
'title_shortcodes' => Array('name' => __( 'Run Shortcodes In Title', 'all-in-one-seo-pack' ) ),
|
156 |
+
'description_shortcodes' => Array('name' => __( 'Run Shortcodes In Description', 'all-in-one-seo-pack' ) ),
|
157 |
+
'sitename' => Array( 'name' => __( 'Site Name', 'all-in-one-seo-pack' ), 'default' => get_bloginfo('name'), 'type' => 'text' ),
|
158 |
+
'hometitle' => Array( 'name' => __( 'Home Title', 'all-in-one-seo-pack'),
|
159 |
'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
|
160 |
+
'description' => Array( 'name' => __( 'Home Description', 'all-in-one-seo-pack'),
|
161 |
'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
|
162 |
+
'homeimage' => Array( 'name' => __( 'Home Image', 'all-in-one-seo-pack' ),
|
163 |
'type' => 'image' ),
|
164 |
+
'hometag' => Array('name' => __( 'Home Article Tags', 'all-in-one-seo-pack' ),
|
165 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aiosp_opengraph_categories' => 'article' ) ),
|
166 |
+
'generate_descriptions' => Array( 'name' => __( 'Autogenerate OG Descriptions', 'all-in-one-seo-pack' ), 'default' => 1 ),
|
167 |
+
'defimg' => Array( 'name' => __( 'Select OG:Image Source', 'all-in-one-seo-pack' ), 'type' => 'select', 'initial_options' => Array( '' => __( 'Default Image' ), 'featured' => __( 'Featured Image' ), 'attach' => __( 'First Attached Image' ), 'content' => __( 'First Image In Content' ), 'custom' => __( 'Image From Custom Field' ), 'author' => __( 'Post Author Image' ), 'auto' => __( 'First Available Image' ) ) ),
|
168 |
+
'fallback' => Array( 'name' => __( 'Use Default If No Image Found', 'all-in-one-seo-pack' ), 'type' => 'checkbox' ),
|
169 |
+
'dimg' => Array( 'name' => __( 'Default OG:Image', 'all-in-one-seo-pack' ), 'default' => AIOSEOP_PLUGIN_IMAGES_URL . 'default-user-image.png', 'type' => 'image' ),
|
170 |
+
'dimgwidth' => Array( 'name' => __( 'Default Image Width', 'all-in-one-seo-pack' ),
|
171 |
'type' => 'text', 'default' => '' ),
|
172 |
+
'dimgheight' => Array( 'name' => __( 'Default Image Height', 'all-in-one-seo-pack' ),
|
173 |
'type' => 'text', 'default' => '' ),
|
174 |
+
'meta_key' => Array( 'name' => __( 'Use Custom Field For Image', 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => '' ),
|
175 |
+
'categories' => Array( 'name' => __( 'Facebook Object Type', 'all-in-one-seo-pack'),
|
176 |
'type' => 'radio', 'initial_options' => $categories, 'default' => 'blog' ),
|
177 |
+
'image' => Array( 'name' => __( 'Image', 'all-in-one-seo-pack' ),
|
178 |
'type' => 'radio', 'initial_options' => Array( 0 => '<img style="width:50px;height:auto;display:inline-block;vertical-align:bottom;" src="' . AIOSEOP_PLUGIN_IMAGES_URL . 'default-user-image.png' . '">' ) ),
|
179 |
+
'customimg' => Array( 'name' => __( 'Custom Image', 'all-in-one-seo-pack' ),
|
180 |
'type' => 'image' ),
|
181 |
+
'imagewidth' => Array( 'name' => __( 'Specify Image Width', 'all-in-one-seo-pack' ),
|
182 |
'type' => 'text', 'default' => '' ),
|
183 |
+
'imageheight' => Array( 'name' => __( 'Specify Image Height', 'all-in-one-seo-pack' ),
|
184 |
'type' => 'text', 'default' => '' ),
|
185 |
+
'video' => Array( 'name' => __( 'Custom Video', 'all-in-one-seo-pack' ),
|
186 |
'type' => 'text' ),
|
187 |
+
'videowidth' => Array( 'name' => __( 'Specify Video Width', 'all-in-one-seo-pack' ),
|
188 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
|
189 |
+
'videoheight' => Array( 'name' => __( 'Specify Video Height', 'all-in-one-seo-pack' ),
|
190 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
|
191 |
+
'defcard' => Array( 'name' => __( 'Default Twitter Card', 'all-in-one-seo-pack' ),
|
192 |
+
'type' => 'select', 'initial_options' => Array( 'summary' => __( 'Summary', 'all-in-one-seo-pack' ), 'summary_large_image' => __( 'Summary Large Image', 'all-in-one-seo-pack' ) /*, *******REMOVING THIS TWITTER CARD TYPE FROM SOCIAL META MODULE****** 'photo' => __( 'Photo', 'all-in-one-seo-pack' ) */ ), 'default' => 'summary' ),
|
193 |
+
'setcard' => Array( 'name' => __( 'Twitter Card Type', 'all-in-one-seo-pack' ),
|
194 |
+
'type' => 'select', 'initial_options' => Array( 'summary_large_image' => __( 'Summary Large Image', 'all-in-one-seo-pack' ), 'summary' => __( 'Summary', 'all-in-one-seo-pack' ) /*, *******REMOVING THIS TWITTER CARD TYPE FROM SOCIAL META MODULE****** 'photo' => __( 'Photo', 'all-in-one-seo-pack' ) */ ) ),
|
195 |
+
'twitter_site' => Array( 'name' => __( 'Twitter Site', 'all-in-one-seo-pack' ),
|
196 |
'type' => 'text', 'default' => '' ),
|
197 |
+
'twitter_creator'=>Array( 'name' => __( 'Show Twitter Author', 'all-in-one-seo-pack' ) ),
|
198 |
+
'twitter_domain'=> Array( 'name' => __( 'Twitter Domain', 'all-in-one-seo-pack' ),
|
199 |
'type' => 'text', 'default' => '' ),
|
200 |
+
'gen_tags' => Array( 'name' => __( 'Automatically Generate Article Tags', 'all-in-one-seo-pack' ) ),
|
201 |
+
'gen_keywords' => Array( 'name' => __( 'Use Keywords In Article Tags', 'all-in-one-seo-pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
|
202 |
+
'gen_categories'=> Array( 'name' => __( 'Use Categories In Article Tags', 'all-in-one-seo-pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
|
203 |
+
'gen_post_tags' => Array( 'name' => __( 'Use Post Tags In Article Tags', 'all-in-one-seo-pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
|
204 |
+
'types' => Array( 'name' => __( 'Enable Facebook Meta for', 'all-in-one-seo-pack'),
|
205 |
'type' => 'multicheckbox', 'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ),
|
206 |
'default' => Array( 'post' => 'post', 'page' => 'page' ) ),
|
207 |
+
'title' => Array( 'name' => __( 'Title', 'all-in-one-seo-pack'),
|
208 |
'default' => '', 'type' => 'text', 'size' => 95, 'count' => 1, 'count_desc' => $count_desc ),
|
209 |
+
'desc' => Array( 'name' => __( 'Description', 'all-in-one-seo-pack'),
|
210 |
'default' => '', 'type' => 'textarea', 'cols' => 250, 'rows' => 4, 'count' => 1, 'count_desc' => $count_desc ),
|
211 |
+
'category' => Array( 'name' => __( 'Facebook Object Type', 'all-in-one-seo-pack'),
|
212 |
'type' => 'select', 'style' => '',
|
213 |
'initial_options' => $this->fb_object_types,
|
214 |
'default' => ''
|
215 |
),
|
216 |
+
'facebook_debug'=> Array( 'name' => __( 'Facebook Debug', 'all-in-one-seo-pack' ), 'type' => 'html', 'save' => false,
|
217 |
'default' =>
|
218 |
'<script>
|
219 |
jQuery(document).ready(function() {
|
226 |
}
|
227 |
});
|
228 |
</script>
|
229 |
+
<a name="aioseop_opengraph_settings_facebook_debug" id="aioseop_opengraph_settings_facebook_debug" class="button-primary" href="" target=_blank>' . __( 'Debug This Post', 'all-in-one-seo-pack' )
|
230 |
. '</a>' ),
|
231 |
|
232 |
+
'section' => Array( 'name' => __( 'Article Section', 'all-in-one-seo-pack' ),
|
233 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
|
234 |
+
'tag' => Array( 'name' => __( 'Article Tags', 'all-in-one-seo-pack' ),
|
235 |
'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
|
236 |
+
'facebook_publisher'=>Array('name' => __( 'Show Facebook Publisher on Articles', 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => '' ),
|
237 |
+
'facebook_author' =>Array('name' => __( 'Show Facebook Author on Articles', 'all-in-one-seo-pack' ) ),
|
238 |
+
'profile_links' =>Array('name' => __( 'Social Profile Links', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'cols' => 60, 'rows' => 5 ),
|
239 |
+
'person_or_org' =>Array('name' => __( 'Person or Organization?', 'all-in-one-seo-pack' ),
|
240 |
+
'type' => 'radio', 'initial_options' => Array( 'person' => __( 'Person', 'all-in-one-seo-pack' ), 'org' => __( 'Organization', 'all-in-one-seo-pack' ) ) ),
|
241 |
+
'social_name' =>Array('name' => __( "Associated Name", 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => "" ),
|
242 |
);
|
243 |
|
244 |
// load initial options / set defaults
|
252 |
'options' => Array('scan_header', 'setmeta', 'key', 'sitename', 'title_shortcodes', 'description_shortcodes', 'hometitle', 'description', 'homeimage', 'hometag', 'generate_descriptions', 'defimg',
|
253 |
'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key', 'categories', 'defcard', 'profile_links', 'person_or_org', 'social_name', 'twitter_site', 'twitter_creator', 'twitter_domain', 'gen_tags', 'gen_keywords', 'gen_categories',
|
254 |
'gen_post_tags', 'types', 'facebook_publisher', 'facebook_author' ) ),
|
255 |
+
'settings' => Array( 'name' => __('Social Settings', 'all-in-one-seo-pack'),
|
256 |
'type' => 'metabox', 'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#pagepost_settings',
|
257 |
'options' => Array( 'title', 'desc', 'image', 'customimg', 'imagewidth', 'imageheight', 'video', 'videowidth', 'videoheight', 'category', 'facebook_debug', 'section', 'tag', 'setcard' ),
|
258 |
'display' => $display, 'prefix' => 'aioseop_opengraph_'
|
261 |
|
262 |
$this->layout = Array(
|
263 |
'default' => Array(
|
264 |
+
'name' => __( 'General Settings', 'all-in-one-seo-pack' ),
|
265 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
266 |
'options' => Array() // this is set below, to the remaining options -- pdb
|
267 |
),
|
268 |
'home' => Array(
|
269 |
+
'name' => __( 'Home Page Settings', 'all-in-one-seo-pack' ),
|
270 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
271 |
'options' => Array( 'setmeta', 'sitename', 'hometitle', 'description', 'homeimage', 'hometag' )
|
272 |
),
|
273 |
'image' => Array(
|
274 |
+
'name' => __( 'Image Settings', 'all-in-one-seo-pack' ),
|
275 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
276 |
'options' => Array( 'defimg', 'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key' )
|
277 |
),
|
278 |
'links' => Array(
|
279 |
+
'name' => __( 'Social Profile Links', 'all-in-one-seo-pack' ),
|
280 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
281 |
'options' => Array( 'profile_links', 'person_or_org', 'social_name' )
|
282 |
),
|
283 |
'facebook' => Array(
|
284 |
+
'name' => __( 'Facebook Settings', 'all-in-one-seo-pack' ),
|
285 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
286 |
'options' => Array( 'key', 'types', 'gen_tags', 'gen_keywords', 'gen_categories', 'gen_post_tags', 'categories', 'facebook_publisher', 'facebook_author' )
|
287 |
),
|
288 |
'twitter' => Array(
|
289 |
+
'name' => __( 'Twitter Settings', 'all-in-one-seo-pack' ),
|
290 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
|
291 |
'options' => Array( 'defcard', 'setcard', 'twitter_site', 'twitter_creator', 'twitter_domain' )
|
292 |
),
|
293 |
'scan_meta' => Array(
|
294 |
+
'name' => __( 'Scan Social Meta', 'all-in-one-seo-pack' ),
|
295 |
'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#scan_meta',
|
296 |
'options' => Array( 'scan_header' )
|
297 |
)
|
322 |
if ( $cat == 'blog' ) {
|
323 |
$show_on_front = get_option( 'show_on_front' );
|
324 |
if ( ( $show_on_front == 'page' ) && ( get_option( 'page_on_front' ) ) ) {
|
325 |
+
$this->output_error( '<p>' . __( "Static front page detected, suggested Facebook Object Type is 'website'.", 'all-in-one-seo-pack' ) . '</p>' );
|
326 |
}
|
327 |
} elseif ( $cat == 'website' ) {
|
328 |
$show_on_front = get_option( 'show_on_front' );
|
329 |
if ( ( $show_on_front == 'posts' ) )
|
330 |
+
$this->output_error( '<p>' . __( "Blog on front page detected, suggested Facebook Object Type is 'blog'.", 'all-in-one-seo-pack' ) . '</p>' );
|
331 |
}
|
332 |
}
|
333 |
}
|
374 |
}
|
375 |
}
|
376 |
$settings[$prefix . 'category']['initial_options'] = array_merge( Array(
|
377 |
+
$this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] => __( 'Default ', 'all-in-one-seo-pack' ) . ' - '
|
378 |
. $flat_type_list[ $this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] ] ),
|
379 |
$settings[$prefix . 'category']['initial_options'] );
|
380 |
}
|
421 |
$buf .= '<div class="aioseop aioseop_options aiosp_opengraph_settings"><div class="aioseop_wrapper aioseop_custom_type" id="aiosp_opengraph_scan_header_wrapper"><div class="aioseop_input" id="aiosp_opengraph_scan_header" style="padding-left:20px;">';
|
422 |
$args['options']['type'] = 'submit';
|
423 |
$args['attr'] = " class='button-primary' ";
|
424 |
+
$args['value'] = $args['options']['default'] = __( 'Scan Now', 'all-in-one-seo-pack' );
|
425 |
+
$buf .= __( 'Scan your site for duplicate social meta tags.', 'all-in-one-seo-pack' );
|
426 |
$buf .= '<br /><br />' . $this->get_option_html( $args );
|
427 |
$buf .= '</div></div></div>';
|
428 |
}
|
684 |
|
685 |
if ( !empty( $metabox['aioseop_opengraph_settings_setcard'] ) )
|
686 |
$card = $metabox['aioseop_opengraph_settings_setcard'];
|
687 |
+
|
688 |
+
|
689 |
+
//support for changing legacy twitter cardtype-photo to summary large image
|
690 |
+
if($card == 'photo'){
|
691 |
+
$card = 'summary_large_image';
|
692 |
+
}
|
693 |
+
|
694 |
+
|
695 |
$site = $domain = $creator = '';
|
696 |
|
697 |
if ( !empty( $this->options['aiosp_opengraph_twitter_site'] ) )
|
733 |
'site' => 'twitter:site',
|
734 |
'creator' => 'twitter:creator',
|
735 |
'domain' => 'twitter:domain',
|
736 |
+
'title' => 'twitter:title',
|
737 |
'description' => 'twitter:description',
|
738 |
+
'thumbnail' => 'twitter:image',
|
739 |
),
|
740 |
+
//this has been moved below to check for schema.org checkbox
|
741 |
+
/*'google+' => Array(
|
742 |
'thumbnail' => 'image',
|
743 |
+
),*/
|
744 |
);
|
745 |
|
746 |
+
//Only show if "use schema.org markup is checked"
|
747 |
+
if(!empty( $aioseop_options['aiosp_schema_markup'] ))
|
748 |
+
$meta['google+'] = Array('thumbnail' => 'image');
|
749 |
+
|
750 |
+
|
751 |
+
|
752 |
+
|
753 |
// Add links to testing tools
|
754 |
|
755 |
/*
|
868 |
foreach( $post_types as $slug => $name ) {
|
869 |
$field = $slug . '_fb_object_type';
|
870 |
$this->default_options[$field] = Array(
|
871 |
+
'name' => "$name " . __( 'Object Type', 'all-in-one-seo-pack' ) . "<br />($slug)",
|
872 |
'type' => 'select',
|
873 |
'style' => '',
|
874 |
'initial_options' => $this->fb_object_types,
|
875 |
'default' => 'article',
|
876 |
'condshow' => Array( 'aiosp_opengraph_types\[\]' => $slug )
|
877 |
);
|
878 |
+
$this->help_text[$field] = __( 'Choose a default value that best describes the content of your post type.', 'all-in-one-seo-pack' );
|
879 |
$this->help_anchors[$field] = '#content-object-types';
|
880 |
$this->locations['opengraph']['options'][] = $field;
|
881 |
$this->layout['facebook']['options'][] = $field;
|
aioseop_options.php
DELETED
File without changes
|
aioseop_performance.php
CHANGED
@@ -11,24 +11,24 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
|
|
11 |
protected $module_info = Array( );
|
12 |
|
13 |
function All_in_One_SEO_Pack_Performance( $mod ) {
|
14 |
-
$this->name = __('Performance', '
|
15 |
$this->prefix = 'aiosp_performance_'; // option prefix
|
16 |
$this->file = __FILE__; // the current file
|
17 |
parent::__construct();
|
18 |
|
19 |
$this->help_text = Array(
|
20 |
-
"memory_limit" => __( "This setting allows you to raise your PHP memory limit to a reasonable value. Note: WordPress core and other WordPress plugins may also change the value of the memory limit.", '
|
21 |
-
"execution_time" => __( "This setting allows you to raise your PHP execution time to a reasonable value.", '
|
22 |
-
"force_rewrites" => __( "Use output buffering to ensure that the title gets rewritten. Enable this option if you run into issues with the title tag being set by your theme or another plugin.", '
|
23 |
);
|
24 |
|
25 |
$this->default_options = array(
|
26 |
-
'memory_limit' => Array( 'name' => __( 'Raise memory limit', '
|
27 |
'default' => '256M', 'type' => 'select',
|
28 |
-
'initial_options' => Array( 0 => __( "Use the system default", '
|
29 |
-
'execution_time' => Array( 'name' => __( 'Raise execution time', '
|
30 |
'default' => '', 'type' => 'select',
|
31 |
-
'initial_options' => Array( '' => __( "Use the system default", '
|
32 |
);
|
33 |
|
34 |
$this->help_anchors = Array(
|
@@ -40,10 +40,10 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
|
|
40 |
global $aiosp, $aioseop_options;
|
41 |
if ( aioseop_option_isset( 'aiosp_rewrite_titles' ) && $aioseop_options['aiosp_rewrite_titles'] ) {
|
42 |
$this->default_options['force_rewrites'] = Array(
|
43 |
-
'name' => __( 'Force Rewrites:', '
|
44 |
'default' => 1, 'type' => 'radio',
|
45 |
-
'initial_options' => Array( 1 => __( 'Enabled', '
|
46 |
-
0 => __( 'Disabled', '
|
47 |
);
|
48 |
}
|
49 |
|
@@ -60,7 +60,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
|
|
60 |
);
|
61 |
|
62 |
$this->layout['system_status'] = Array(
|
63 |
-
'name' => __( 'System Status', '
|
64 |
'help_link' => 'http://semperplugins.com/documentation/performance-settings/',
|
65 |
'options' => array_keys( $system_status )
|
66 |
);
|
@@ -136,27 +136,27 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
|
|
136 |
$sqlversion = $wpdb->get_var("SELECT VERSION() AS version");
|
137 |
$mysqlinfo = $wpdb->get_results("SHOW VARIABLES LIKE 'sql_mode'");
|
138 |
if (is_array($mysqlinfo)) $sql_mode = $mysqlinfo[0]->Value;
|
139 |
-
if (empty($sql_mode)) $sql_mode = __('Not set', '
|
140 |
-
if(ini_get('safe_mode')) $safe_mode = __('On', '
|
141 |
-
else $safe_mode = __('Off', '
|
142 |
-
if(ini_get('allow_url_fopen')) $allow_url_fopen = __('On', '
|
143 |
-
else $allow_url_fopen = __('Off', '
|
144 |
if(ini_get('upload_max_filesize')) $upload_max = ini_get('upload_max_filesize');
|
145 |
-
else $upload_max = __('N/A', '
|
146 |
if(ini_get('post_max_size')) $post_max = ini_get('post_max_size');
|
147 |
-
else $post_max = __('N/A', '
|
148 |
if(ini_get('max_execution_time')) $max_execute = ini_get('max_execution_time');
|
149 |
-
else $max_execute = __('N/A', '
|
150 |
if(ini_get('memory_limit')) $memory_limit = ini_get('memory_limit');
|
151 |
-
else $memory_limit = __('N/A', '
|
152 |
-
if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', '
|
153 |
-
else $memory_usage = __('N/A', '
|
154 |
-
if (is_callable('exif_read_data')) $exif = __('Yes', '
|
155 |
-
else $exif = __('No', '
|
156 |
-
if (is_callable('iptcparse')) $iptc = __('Yes', '
|
157 |
-
else $iptc = __('No', '
|
158 |
-
if (is_callable('xml_parser_create')) $xml = __('Yes', '
|
159 |
-
else $xml = __('No', '
|
160 |
|
161 |
if ( function_exists( 'wp_get_theme' ) ) {
|
162 |
$theme = wp_get_theme();
|
@@ -167,39 +167,39 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
|
|
167 |
|
168 |
if ( function_exists( 'is_multisite' ) ) {
|
169 |
if ( is_multisite() ) {
|
170 |
-
$ms = __('Yes', '
|
171 |
} else {
|
172 |
-
$ms = __('No', '
|
173 |
}
|
174 |
|
175 |
-
} else $ms = __('N/A', '
|
176 |
|
177 |
$siteurl = get_option('siteurl');
|
178 |
$homeurl = get_option('home');
|
179 |
$db_version = get_option('db_version');
|
180 |
|
181 |
$debug_info = Array(
|
182 |
-
__('Operating System', '
|
183 |
-
__('Server', '
|
184 |
-
__('Memory usage', '
|
185 |
-
__('MYSQL Version', '
|
186 |
-
__('SQL Mode', '
|
187 |
-
__('PHP Version', '
|
188 |
-
__('PHP Safe Mode', '
|
189 |
-
__('PHP Allow URL fopen', '
|
190 |
-
__('PHP Memory Limit', '
|
191 |
-
__('PHP Max Upload Size', '
|
192 |
-
__('PHP Max Post Size', '
|
193 |
-
__('PHP Max Script Execute Time', '
|
194 |
-
__('PHP Exif support', '
|
195 |
-
__('PHP IPTC support', '
|
196 |
-
__('PHP XML support', '
|
197 |
-
__('Site URL', '
|
198 |
-
__('Home URL', '
|
199 |
-
__('WordPress Version', '
|
200 |
-
__('WordPress DB Version', '
|
201 |
-
__('Multisite', '
|
202 |
-
__('Active Theme', '
|
203 |
);
|
204 |
$debug_info['Active Plugins'] = null;
|
205 |
$active_plugins = $inactive_plugins = Array();
|
@@ -214,7 +214,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
|
|
214 |
$debug_info['Inactive Plugins'] = null;
|
215 |
$debug_info = array_merge( $debug_info, (array)$inactive_plugins );
|
216 |
|
217 |
-
$mail_text = __( "All in One SEO Pack Pro Debug Info", '
|
218 |
$page_text = "";
|
219 |
if ( !empty( $debug_info ) )
|
220 |
foreach($debug_info as $name => $value) {
|
@@ -230,25 +230,25 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
|
|
230 |
do if ( !empty( $_REQUEST['sfwd_debug_submit'] ) ) {
|
231 |
$nonce=$_REQUEST['sfwd_debug_nonce'];
|
232 |
if (! wp_verify_nonce($nonce, 'sfwd-debug-nonce') ) {
|
233 |
-
echo "<div class='sfwd_debug_error'>" . __( "Form submission error: verification check failed.", '
|
234 |
break;
|
235 |
}
|
236 |
$email = '';
|
237 |
if ( !empty( $_REQUEST['sfwd_debug_send_email'] ) ) $email = sanitize_email( $_REQUEST['sfwd_debug_send_email'] );
|
238 |
if ( $email ) {
|
239 |
-
if ( wp_mail( $email, sprintf( __( "SFWD Debug Mail From Site %s.", '
|
240 |
-
echo "<div class='sfwd_debug_mail_sent'>" . sprintf( __( "Sent to %s.", '
|
241 |
} else {
|
242 |
-
echo "<div class='sfwd_debug_error'>" . sprintf( __( "Failed to send to %s.", '
|
243 |
}
|
244 |
} else {
|
245 |
-
echo "<div class='sfwd_debug_error'>" . __( 'Error: please enter an e-mail address before submitting.', '
|
246 |
}
|
247 |
} while(0); // control structure for use with break
|
248 |
$nonce = wp_create_nonce('sfwd-debug-nonce');
|
249 |
$buf = "<ul class='sfwd_debug_settings'>\n{$page_text}\n</ul>\n<p>\n" .
|
250 |
-
'<input name="sfwd_debug_send_email" type="text" value="" placeholder="' . __( "E-mail debug information", '
|
251 |
-
$nonce . '"><input name="sfwd_debug_submit" type="submit" value="' . __( 'Submit', '
|
252 |
return $buf;
|
253 |
}
|
254 |
}
|
11 |
protected $module_info = Array( );
|
12 |
|
13 |
function All_in_One_SEO_Pack_Performance( $mod ) {
|
14 |
+
$this->name = __('Performance', 'all-in-one-seo-pack'); // Human-readable name of the plugin
|
15 |
$this->prefix = 'aiosp_performance_'; // option prefix
|
16 |
$this->file = __FILE__; // the current file
|
17 |
parent::__construct();
|
18 |
|
19 |
$this->help_text = Array(
|
20 |
+
"memory_limit" => __( "This setting allows you to raise your PHP memory limit to a reasonable value. Note: WordPress core and other WordPress plugins may also change the value of the memory limit.", 'all-in-one-seo-pack' ),
|
21 |
+
"execution_time" => __( "This setting allows you to raise your PHP execution time to a reasonable value.", 'all-in-one-seo-pack' ),
|
22 |
+
"force_rewrites" => __( "Use output buffering to ensure that the title gets rewritten. Enable this option if you run into issues with the title tag being set by your theme or another plugin.", 'all-in-one-seo-pack' )
|
23 |
);
|
24 |
|
25 |
$this->default_options = array(
|
26 |
+
'memory_limit' => Array( 'name' => __( 'Raise memory limit', 'all-in-one-seo-pack' ),
|
27 |
'default' => '256M', 'type' => 'select',
|
28 |
+
'initial_options' => Array( 0 => __( "Use the system default", 'all-in-one-seo-pack' ), '32M' => '32MB', '64M' => '64MB', '128M' => '128MB', '256M' => '256MB' ) ),
|
29 |
+
'execution_time' => Array( 'name' => __( 'Raise execution time', 'all-in-one-seo-pack' ),
|
30 |
'default' => '', 'type' => 'select',
|
31 |
+
'initial_options' => Array( '' => __( "Use the system default", 'all-in-one-seo-pack' ), 30 => '30s', 60 => '1m', 120 => '2m', 300 => '5m', 0 => __( 'No limit', 'all-in-one-seo-pack' ) ) )
|
32 |
);
|
33 |
|
34 |
$this->help_anchors = Array(
|
40 |
global $aiosp, $aioseop_options;
|
41 |
if ( aioseop_option_isset( 'aiosp_rewrite_titles' ) && $aioseop_options['aiosp_rewrite_titles'] ) {
|
42 |
$this->default_options['force_rewrites'] = Array(
|
43 |
+
'name' => __( 'Force Rewrites:', 'all-in-one-seo-pack' ),
|
44 |
'default' => 1, 'type' => 'radio',
|
45 |
+
'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
|
46 |
+
0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
|
47 |
);
|
48 |
}
|
49 |
|
60 |
);
|
61 |
|
62 |
$this->layout['system_status'] = Array(
|
63 |
+
'name' => __( 'System Status', 'all-in-one-seo-pack' ),
|
64 |
'help_link' => 'http://semperplugins.com/documentation/performance-settings/',
|
65 |
'options' => array_keys( $system_status )
|
66 |
);
|
136 |
$sqlversion = $wpdb->get_var("SELECT VERSION() AS version");
|
137 |
$mysqlinfo = $wpdb->get_results("SHOW VARIABLES LIKE 'sql_mode'");
|
138 |
if (is_array($mysqlinfo)) $sql_mode = $mysqlinfo[0]->Value;
|
139 |
+
if (empty($sql_mode)) $sql_mode = __('Not set', 'all-in-one-seo-pack' );
|
140 |
+
if(ini_get('safe_mode')) $safe_mode = __('On', 'all-in-one-seo-pack' );
|
141 |
+
else $safe_mode = __('Off', 'all-in-one-seo-pack' );
|
142 |
+
if(ini_get('allow_url_fopen')) $allow_url_fopen = __('On', 'all-in-one-seo-pack' );
|
143 |
+
else $allow_url_fopen = __('Off', 'all-in-one-seo-pack' );
|
144 |
if(ini_get('upload_max_filesize')) $upload_max = ini_get('upload_max_filesize');
|
145 |
+
else $upload_max = __('N/A', 'all-in-one-seo-pack' );
|
146 |
if(ini_get('post_max_size')) $post_max = ini_get('post_max_size');
|
147 |
+
else $post_max = __('N/A', 'all-in-one-seo-pack' );
|
148 |
if(ini_get('max_execution_time')) $max_execute = ini_get('max_execution_time');
|
149 |
+
else $max_execute = __('N/A', 'all-in-one-seo-pack' );
|
150 |
if(ini_get('memory_limit')) $memory_limit = ini_get('memory_limit');
|
151 |
+
else $memory_limit = __('N/A', 'all-in-one-seo-pack' );
|
152 |
+
if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', 'all-in-one-seo-pack' );
|
153 |
+
else $memory_usage = __('N/A', 'all-in-one-seo-pack' );
|
154 |
+
if (is_callable('exif_read_data')) $exif = __('Yes', 'all-in-one-seo-pack' ). " ( V" . $this->substr(phpversion('exif'),0,4) . ")" ;
|
155 |
+
else $exif = __('No', 'all-in-one-seo-pack' );
|
156 |
+
if (is_callable('iptcparse')) $iptc = __('Yes', 'all-in-one-seo-pack' );
|
157 |
+
else $iptc = __('No', 'all-in-one-seo-pack' );
|
158 |
+
if (is_callable('xml_parser_create')) $xml = __('Yes', 'all-in-one-seo-pack' );
|
159 |
+
else $xml = __('No', 'all-in-one-seo-pack' );
|
160 |
|
161 |
if ( function_exists( 'wp_get_theme' ) ) {
|
162 |
$theme = wp_get_theme();
|
167 |
|
168 |
if ( function_exists( 'is_multisite' ) ) {
|
169 |
if ( is_multisite() ) {
|
170 |
+
$ms = __('Yes', 'all-in-one-seo-pack' );
|
171 |
} else {
|
172 |
+
$ms = __('No', 'all-in-one-seo-pack' );
|
173 |
}
|
174 |
|
175 |
+
} else $ms = __('N/A', 'all-in-one-seo-pack' );
|
176 |
|
177 |
$siteurl = get_option('siteurl');
|
178 |
$homeurl = get_option('home');
|
179 |
$db_version = get_option('db_version');
|
180 |
|
181 |
$debug_info = Array(
|
182 |
+
__('Operating System', 'all-in-one-seo-pack' ) => PHP_OS,
|
183 |
+
__('Server', 'all-in-one-seo-pack' ) => $_SERVER["SERVER_SOFTWARE"],
|
184 |
+
__('Memory usage', 'all-in-one-seo-pack' ) => $memory_usage,
|
185 |
+
__('MYSQL Version', 'all-in-one-seo-pack' ) => $sqlversion,
|
186 |
+
__('SQL Mode', 'all-in-one-seo-pack' ) => $sql_mode,
|
187 |
+
__('PHP Version', 'all-in-one-seo-pack' ) => PHP_VERSION,
|
188 |
+
__('PHP Safe Mode', 'all-in-one-seo-pack' ) => $safe_mode,
|
189 |
+
__('PHP Allow URL fopen', 'all-in-one-seo-pack' ) => $allow_url_fopen,
|
190 |
+
__('PHP Memory Limit', 'all-in-one-seo-pack' ) => $memory_limit,
|
191 |
+
__('PHP Max Upload Size', 'all-in-one-seo-pack' ) => $upload_max,
|
192 |
+
__('PHP Max Post Size', 'all-in-one-seo-pack' ) => $post_max,
|
193 |
+
__('PHP Max Script Execute Time', 'all-in-one-seo-pack' ) => $max_execute,
|
194 |
+
__('PHP Exif support', 'all-in-one-seo-pack' ) => $exif,
|
195 |
+
__('PHP IPTC support', 'all-in-one-seo-pack' ) => $iptc,
|
196 |
+
__('PHP XML support', 'all-in-one-seo-pack' ) => $xml,
|
197 |
+
__('Site URL', 'all-in-one-seo-pack' ) => $siteurl,
|
198 |
+
__('Home URL', 'all-in-one-seo-pack' ) => $homeurl,
|
199 |
+
__('WordPress Version', 'all-in-one-seo-pack' ) => $wp_version,
|
200 |
+
__('WordPress DB Version', 'all-in-one-seo-pack' ) => $db_version,
|
201 |
+
__('Multisite', 'all-in-one-seo-pack' ) => $ms,
|
202 |
+
__('Active Theme', 'all-in-one-seo-pack' ) => $theme['Name'].' '.$theme['Version']
|
203 |
);
|
204 |
$debug_info['Active Plugins'] = null;
|
205 |
$active_plugins = $inactive_plugins = Array();
|
214 |
$debug_info['Inactive Plugins'] = null;
|
215 |
$debug_info = array_merge( $debug_info, (array)$inactive_plugins );
|
216 |
|
217 |
+
$mail_text = __( "All in One SEO Pack Pro Debug Info", 'all-in-one-seo-pack' ) . "\r\n------------------\r\n\r\n";
|
218 |
$page_text = "";
|
219 |
if ( !empty( $debug_info ) )
|
220 |
foreach($debug_info as $name => $value) {
|
230 |
do if ( !empty( $_REQUEST['sfwd_debug_submit'] ) ) {
|
231 |
$nonce=$_REQUEST['sfwd_debug_nonce'];
|
232 |
if (! wp_verify_nonce($nonce, 'sfwd-debug-nonce') ) {
|
233 |
+
echo "<div class='sfwd_debug_error'>" . __( "Form submission error: verification check failed.", 'all-in-one-seo-pack' ) . "</div>";
|
234 |
break;
|
235 |
}
|
236 |
$email = '';
|
237 |
if ( !empty( $_REQUEST['sfwd_debug_send_email'] ) ) $email = sanitize_email( $_REQUEST['sfwd_debug_send_email'] );
|
238 |
if ( $email ) {
|
239 |
+
if ( wp_mail( $email, sprintf( __( "SFWD Debug Mail From Site %s.", 'all-in-one-seo-pack'), $siteurl), $mail_text ) ) {
|
240 |
+
echo "<div class='sfwd_debug_mail_sent'>" . sprintf( __( "Sent to %s.", 'all-in-one-seo-pack' ), $email ) . "</div>";
|
241 |
} else {
|
242 |
+
echo "<div class='sfwd_debug_error'>" . sprintf( __( "Failed to send to %s.", 'all-in-one-seo-pack' ), $email ) . "</div>";
|
243 |
}
|
244 |
} else {
|
245 |
+
echo "<div class='sfwd_debug_error'>" . __( 'Error: please enter an e-mail address before submitting.', 'all-in-one-seo-pack' ) . "</div>";
|
246 |
}
|
247 |
} while(0); // control structure for use with break
|
248 |
$nonce = wp_create_nonce('sfwd-debug-nonce');
|
249 |
$buf = "<ul class='sfwd_debug_settings'>\n{$page_text}\n</ul>\n<p>\n" .
|
250 |
+
'<input name="sfwd_debug_send_email" type="text" value="" placeholder="' . __( "E-mail debug information", 'all-in-one-seo-pack' ) . '"><input name="sfwd_debug_nonce" type="hidden" value="' .
|
251 |
+
$nonce . '"><input name="sfwd_debug_submit" type="submit" value="' . __( 'Submit', 'all-in-one-seo-pack' ) . '" class="button-primary"><p>';
|
252 |
return $buf;
|
253 |
}
|
254 |
}
|
aioseop_robots.php
CHANGED
@@ -9,43 +9,43 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
|
|
9 |
class All_in_One_SEO_Pack_Robots extends All_in_One_SEO_Pack_Module {
|
10 |
|
11 |
function __construct( ) {
|
12 |
-
$this->name = __('Robots.txt', '
|
13 |
$this->prefix = 'aiosp_robots_'; // option prefix
|
14 |
$this->file = __FILE__; // the current file
|
15 |
parent::__construct();
|
16 |
|
17 |
$help_text = Array(
|
18 |
-
'additional'=> __('Rule Type', '
|
19 |
-
'useragent' => __('User Agent', '
|
20 |
-
'path' => __('Directory Path', '
|
21 |
-
'robotgen' => __('Robots.txt editor', '
|
22 |
);
|
23 |
|
24 |
$this->default_options = array(
|
25 |
'usage' => Array( 'type' => 'html', 'label' => 'none',
|
26 |
-
'default' => __( 'Use the rule builder below to add rules to create a new Robots.txt file. If you already have a Robots.txt file you should use the File Editor feature in All in One SEO Pack to edit it or you can delete your current Robots.txt file and start a new one with the rule builder below.', '
|
27 |
'save' => false ),
|
28 |
-
'additional'=> Array( 'name' => __( 'Rule Type', '
|
29 |
'save' => false,
|
30 |
'type' => 'select', 'initial_options' => Array( 'allow' => 'Allow', 'block' => 'Block' ) ),
|
31 |
-
'useragent' => Array( 'name' => __( 'User Agent', '
|
32 |
'save' => false,
|
33 |
'type' => 'text' ),
|
34 |
-
'path' => Array( 'name' => __( 'Directory Path', '
|
35 |
'save' => false,
|
36 |
'type' => 'text' ),
|
37 |
-
'robotgen' => Array( 'name' => __( 'Generate Robots.txt', '
|
38 |
'save' => false,
|
39 |
'default' => '', 'type' => 'textarea', 'cols' => 57, 'rows' => 20, 'label' => 'none', 'readonly' => 'readonly' ),
|
40 |
-
'Submit_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add Rule', '
|
41 |
-
'Submit_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Save Robots.txt File', '
|
42 |
-
'Submit_Delete' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Delete Robots.txt File', '
|
43 |
'optusage' => Array( 'type' => 'html', 'label' => 'none',
|
44 |
-
'default' => __( 'Click the Optimize button below and All in One SEO Pack will analyze your Robots.txt file to make sure it complies with the standards for Robots.txt files. The results will be displayed in a table below.', '
|
45 |
'save' => false ),
|
46 |
-
'Submit_Opt_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Update Robots.txt File', '
|
47 |
-
'Submit_Opt_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Disregard Changes', '
|
48 |
-
'Submit_Optimize' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __('Optimize', '
|
49 |
);
|
50 |
|
51 |
if ( !empty( $help_text ) )
|
@@ -58,17 +58,17 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
|
|
58 |
|
59 |
$this->layout = Array(
|
60 |
'default' => Array(
|
61 |
-
'name' => __( 'Create a Robots.txt File', '
|
62 |
'options' => Array( 'usage', 'additional', 'useragent', 'path', 'Submit_Preview', 'Submit_Update', 'Submit_Delete', 'robotgen' ) // this is set below, to the remaining options -- pdb
|
63 |
)
|
64 |
);
|
65 |
$this->layout['optimize'] = Array(
|
66 |
-
'name' => __( 'Optimize your Robots.txt File', '
|
67 |
'options' => Array( 'optusage', 'Submit_Optimize' )
|
68 |
);
|
69 |
if ( isset( $_POST['Submit_Optimize'] ) ) {
|
70 |
$this->layout['optimize']['options'] = Array( 'optusage', 'Submit_Opt_Update', 'Submit_Opt_Preview', 'robothtml' );
|
71 |
-
$this->default_options['optusage']['default'] = __( "Your Robots.txt file has been optimized. Here are the results and recommendations. Click the Update Robots.txt File button below to write these changes to your Robots.txt file. Click the Disregard Changes button to ignore these recommendations and keep your current Robots.txt file.", '
|
72 |
}
|
73 |
|
74 |
// load initial options / set defaults
|
@@ -88,7 +88,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
|
|
88 |
$settings[ $prefix . 'robotgen' ]['type'] = 'hidden';
|
89 |
$settings[ $prefix . 'robotgen' ]['label'] = 'none';
|
90 |
$settings[ $prefix . 'robotgen' ]['help_text'] = '';
|
91 |
-
$settings[ $prefix . 'robothtml'] = Array( 'name' => __( 'Robots.txt', '
|
92 |
'save' => false, 'default' => '', 'type' => 'html', 'label' => 'none', 'style' => 'margin-top:10px;' );
|
93 |
}
|
94 |
}
|
@@ -158,9 +158,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
|
|
158 |
}
|
159 |
$options[$prefix . 'robotgen'] = $this->output_robots($rules);
|
160 |
$file2 = explode("\n", $options[$prefix . 'robotgen'] );
|
161 |
-
$options[$prefix . 'robothtml'] = '<table width=100%><tr><td valign=top width=45%>' . $this->annotate_robots_html( $file, true, __( "Current File", '
|
162 |
} else {
|
163 |
-
$options[$prefix . 'robothtml'] = $this->annotate_robots_html( $file, true, __( "Current File", '
|
164 |
}
|
165 |
}
|
166 |
return $options;
|
@@ -214,12 +214,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
|
|
214 |
$buf .= '</table>';
|
215 |
if ( $show_help ) {
|
216 |
$buf .= '<div class="aioseop_option_docs" id="aiosp_robots_main_legend_tip">
|
217 |
-
<h3>' . __( 'Legend', '
|
218 |
<ul>
|
219 |
-
<li>' . __( 'The yellow indicator means that a non-standard extension was recognized; not all crawlers may recognize it or interpret it the same way. The Allow and Sitemap directives are commonly used by Google and Yahoo.', '
|
220 |
-
<li>' . __( 'The red indicator means that the syntax is invalid for a robots.txt file.', '
|
221 |
</ul>
|
222 |
-
<a target="_blank" rel="nofollow" href="http://wikipedia.org/wiki/Robots_exclusion_standard#Nonstandard_extensions">' . __('More Information', '
|
223 |
</div>';
|
224 |
}
|
225 |
} else {
|
9 |
class All_in_One_SEO_Pack_Robots extends All_in_One_SEO_Pack_Module {
|
10 |
|
11 |
function __construct( ) {
|
12 |
+
$this->name = __('Robots.txt', 'all-in-one-seo-pack'); // Human-readable name of the plugin
|
13 |
$this->prefix = 'aiosp_robots_'; // option prefix
|
14 |
$this->file = __FILE__; // the current file
|
15 |
parent::__construct();
|
16 |
|
17 |
$help_text = Array(
|
18 |
+
'additional'=> __('Rule Type', 'all-in-one-seo-pack'),
|
19 |
+
'useragent' => __('User Agent', 'all-in-one-seo-pack'),
|
20 |
+
'path' => __('Directory Path', 'all-in-one-seo-pack'),
|
21 |
+
'robotgen' => __('Robots.txt editor', 'all-in-one-seo-pack'),
|
22 |
);
|
23 |
|
24 |
$this->default_options = array(
|
25 |
'usage' => Array( 'type' => 'html', 'label' => 'none',
|
26 |
+
'default' => __( 'Use the rule builder below to add rules to create a new Robots.txt file. If you already have a Robots.txt file you should use the File Editor feature in All in One SEO Pack to edit it or you can delete your current Robots.txt file and start a new one with the rule builder below.', 'all-in-one-seo-pack' ),
|
27 |
'save' => false ),
|
28 |
+
'additional'=> Array( 'name' => __( 'Rule Type', 'all-in-one-seo-pack' ),
|
29 |
'save' => false,
|
30 |
'type' => 'select', 'initial_options' => Array( 'allow' => 'Allow', 'block' => 'Block' ) ),
|
31 |
+
'useragent' => Array( 'name' => __( 'User Agent', 'all-in-one-seo-pack' ),
|
32 |
'save' => false,
|
33 |
'type' => 'text' ),
|
34 |
+
'path' => Array( 'name' => __( 'Directory Path', 'all-in-one-seo-pack' ),
|
35 |
'save' => false,
|
36 |
'type' => 'text' ),
|
37 |
+
'robotgen' => Array( 'name' => __( 'Generate Robots.txt', 'all-in-one-seo-pack'),
|
38 |
'save' => false,
|
39 |
'default' => '', 'type' => 'textarea', 'cols' => 57, 'rows' => 20, 'label' => 'none', 'readonly' => 'readonly' ),
|
40 |
+
'Submit_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add Rule', 'all-in-one-seo-pack' ) . ' »', 'nowrap' => 1, 'style' => 'margin-left: 20px;' ),
|
41 |
+
'Submit_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Save Robots.txt File', 'all-in-one-seo-pack' ) . ' »', 'nowrap' => 1 ),
|
42 |
+
'Submit_Delete' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Delete Robots.txt File', 'all-in-one-seo-pack' ) . ' »', 'nowrap' => 1 ),
|
43 |
'optusage' => Array( 'type' => 'html', 'label' => 'none',
|
44 |
+
'default' => __( 'Click the Optimize button below and All in One SEO Pack will analyze your Robots.txt file to make sure it complies with the standards for Robots.txt files. The results will be displayed in a table below.', 'all-in-one-seo-pack' ),
|
45 |
'save' => false ),
|
46 |
+
'Submit_Opt_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Update Robots.txt File', 'all-in-one-seo-pack' ) . ' »', 'nowrap' => 1, 'style' => 'margin-left: 20px;' ),
|
47 |
+
'Submit_Opt_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Disregard Changes', 'all-in-one-seo-pack' ) . ' »', 'nowrap' => 1),
|
48 |
+
'Submit_Optimize' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __('Optimize', 'all-in-one-seo-pack') . ' »' )
|
49 |
);
|
50 |
|
51 |
if ( !empty( $help_text ) )
|
58 |
|
59 |
$this->layout = Array(
|
60 |
'default' => Array(
|
61 |
+
'name' => __( 'Create a Robots.txt File', 'all-in-one-seo-pack' ),
|
62 |
'options' => Array( 'usage', 'additional', 'useragent', 'path', 'Submit_Preview', 'Submit_Update', 'Submit_Delete', 'robotgen' ) // this is set below, to the remaining options -- pdb
|
63 |
)
|
64 |
);
|
65 |
$this->layout['optimize'] = Array(
|
66 |
+
'name' => __( 'Optimize your Robots.txt File', 'all-in-one-seo-pack' ),
|
67 |
'options' => Array( 'optusage', 'Submit_Optimize' )
|
68 |
);
|
69 |
if ( isset( $_POST['Submit_Optimize'] ) ) {
|
70 |
$this->layout['optimize']['options'] = Array( 'optusage', 'Submit_Opt_Update', 'Submit_Opt_Preview', 'robothtml' );
|
71 |
+
$this->default_options['optusage']['default'] = __( "Your Robots.txt file has been optimized. Here are the results and recommendations. Click the Update Robots.txt File button below to write these changes to your Robots.txt file. Click the Disregard Changes button to ignore these recommendations and keep your current Robots.txt file.", 'all-in-one-seo-pack' );
|
72 |
}
|
73 |
|
74 |
// load initial options / set defaults
|
88 |
$settings[ $prefix . 'robotgen' ]['type'] = 'hidden';
|
89 |
$settings[ $prefix . 'robotgen' ]['label'] = 'none';
|
90 |
$settings[ $prefix . 'robotgen' ]['help_text'] = '';
|
91 |
+
$settings[ $prefix . 'robothtml'] = Array( 'name' => __( 'Robots.txt', 'all-in-one-seo-pack'),
|
92 |
'save' => false, 'default' => '', 'type' => 'html', 'label' => 'none', 'style' => 'margin-top:10px;' );
|
93 |
}
|
94 |
}
|
158 |
}
|
159 |
$options[$prefix . 'robotgen'] = $this->output_robots($rules);
|
160 |
$file2 = explode("\n", $options[$prefix . 'robotgen'] );
|
161 |
+
$options[$prefix . 'robothtml'] = '<table width=100%><tr><td valign=top width=45%>' . $this->annotate_robots_html( $file, true, __( "Current File", 'all-in-one-seo-pack' ) ) . '</td><td><span style="font-size: xx-large">→</span></td><td valign=top>' . $this->annotate_robots_html( $file2, true, __( "Proposed Changes", 'all-in-one-seo-pack' ) ) . '</td></tr></table>';
|
162 |
} else {
|
163 |
+
$options[$prefix . 'robothtml'] = $this->annotate_robots_html( $file, true, __( "Current File", 'all-in-one-seo-pack' ) );
|
164 |
}
|
165 |
}
|
166 |
return $options;
|
214 |
$buf .= '</table>';
|
215 |
if ( $show_help ) {
|
216 |
$buf .= '<div class="aioseop_option_docs" id="aiosp_robots_main_legend_tip">
|
217 |
+
<h3>' . __( 'Legend', 'all-in-one-seo-pack' ) . '</h3>
|
218 |
<ul>
|
219 |
+
<li>' . __( 'The yellow indicator means that a non-standard extension was recognized; not all crawlers may recognize it or interpret it the same way. The Allow and Sitemap directives are commonly used by Google and Yahoo.', 'all-in-one-seo-pack' ) . '</li>
|
220 |
+
<li>' . __( 'The red indicator means that the syntax is invalid for a robots.txt file.', 'all-in-one-seo-pack') . '</li>
|
221 |
</ul>
|
222 |
+
<a target="_blank" rel="nofollow" href="http://wikipedia.org/wiki/Robots_exclusion_standard#Nonstandard_extensions">' . __('More Information', 'all-in-one-seo-pack') . '</a>
|
223 |
</div>';
|
224 |
}
|
225 |
} else {
|
aioseop_sitemap.php
CHANGED
@@ -21,38 +21,38 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
21 |
|
22 |
function __construct( ) {
|
23 |
if ( get_class( $this ) === 'All_in_One_SEO_Pack_Sitemap' ) { // Set this up only when instantiated as this class
|
24 |
-
$this->name = __( 'XML Sitemap', '
|
25 |
$this->prefix = 'aiosp_sitemap_'; // option prefix
|
26 |
$this->file = __FILE__; // the current file
|
27 |
$this->extra_sitemaps = Array();
|
28 |
$this->extra_sitemaps = apply_filters( $this->prefix . 'extra', $this->extra_sitemaps );
|
29 |
}
|
30 |
parent::__construct();
|
31 |
-
$this->comment_string = __( "Sitemap %s generated by All in One SEO Pack %s by Michael Torbert of Semper Fi Web Design on %s", '
|
32 |
|
33 |
$this->help_text = Array(
|
34 |
-
"filename" => __( "Specifies the name of your sitemap file. This will default to 'sitemap'.", '
|
35 |
-
"google" => __( "Notify Google when you update your sitemap settings.", '
|
36 |
-
"bing" => __("Notify Bing when you update your sitemap settings.", '
|
37 |
-
"daily_cron" => __( "Notify search engines daily, and also update static sitemap daily if in use. (this uses WP-Cron, so make sure this is working properly on your server as well)", '
|
38 |
-
"indexes" => __( "Organize sitemap entries into distinct files in your sitemap. Enable this only if your sitemap contains over 50,000 URLs or the file is over 5MB in size.", '
|
39 |
-
"paginate" => __( "Split long sitemaps into separate files.", '
|
40 |
-
"max_posts" => __( "Allows you to specify the maximum number of posts in a sitemap (up to 50,000).", '
|
41 |
-
"posttypes" => __( "Select which Post Types appear in your sitemap.", '
|
42 |
-
"taxonomies" => __( "Select which taxonomy archives appear in your sitemap", '
|
43 |
-
"archive" => __( "Include Date Archives in your sitemap.", '
|
44 |
-
"author" => __( "Include Author Archives in your sitemap.", '
|
45 |
-
"gzipped" => __( "Create a compressed sitemap file in .xml.gz format.", '
|
46 |
-
"robots" => __( "Places a link to your Sitemap.xml into your virtual Robots.txt file.", '
|
47 |
-
"rewrite" => __( "Places a link to the sitemap file in your virtual Robots.txt file which WordPress creates.", '
|
48 |
-
"noindex" => __( "Tells search engines not to index the sitemap file itself.", '
|
49 |
-
"debug" => __( "Use rewrites to generate your sitemap on the fly. NOTE: This is required for WordPress Multisite.", '
|
50 |
-
"addl_url" => __( 'URL to the page.', '
|
51 |
-
"addl_prio" => __( 'The priority of the page.', '
|
52 |
-
"addl_freq" => __( 'The frequency of the page.', '
|
53 |
-
"addl_mod" => __( 'Last modified date of the page.', '
|
54 |
-
"excl_categories" => __( "Entries from these categories will be excluded from the sitemap.", '
|
55 |
-
"excl_pages" => __( "Use page slugs or page IDs, seperated by commas, to exclude pages from the sitemap.", '
|
56 |
);
|
57 |
|
58 |
$this->help_anchors = Array(
|
@@ -76,43 +76,43 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
76 |
);
|
77 |
|
78 |
$this->default_options = array(
|
79 |
-
'filename' => Array( 'name' => __( 'Filename Prefix', '
|
80 |
'default' => 'sitemap', 'type' => 'text', 'sanitize' => 'filename' ),
|
81 |
-
'google' => Array( 'name' => __( 'Notify Google', '
|
82 |
-
'bing' => Array( 'name' => __( 'Notify Bing', '
|
83 |
-
'daily_cron'=> Array( 'name' => __( 'Schedule Updates', '
|
84 |
-
'initial_options' => Array( 0 => __( 'No Schedule', '
|
85 |
-
'daily' => __( 'Daily', '
|
86 |
-
'weekly' => __( 'Weekly', '
|
87 |
-
'monthly'=> __( 'Monthly', '
|
88 |
'default' => 0 ),
|
89 |
-
'indexes' => Array( 'name' => __( 'Enable Sitemap Indexes', '
|
90 |
-
'paginate' => Array( 'name' => __( 'Paginate Sitemap Indexes', '
|
91 |
'condshow' => Array( "{$this->prefix}indexes" => 'on' ) ),
|
92 |
-
'max_posts' => Array( 'name' => __( 'Maximum Posts Per Sitemap', '
|
93 |
'type' => 'text', 'default' => 50000,
|
94 |
'condshow' => Array( "{$this->prefix}indexes" => 'on', "{$this->prefix}paginate" => 'on' ) ),
|
95 |
-
'posttypes' => Array( 'name' => __( 'Post Types', '
|
96 |
'type' => 'multicheckbox', 'default' => 'all' ),
|
97 |
-
'taxonomies'=> Array( 'name' => __( 'Taxonomies', '
|
98 |
'type' => 'multicheckbox', 'default' => 'all' ),
|
99 |
-
'archive' => Array( 'name' => __( 'Include Date Archive Pages', '
|
100 |
-
'author' => Array( 'name' => __( 'Include Author Pages', '
|
101 |
-
'gzipped' => Array( 'name' => __( 'Create Compressed Sitemap', '
|
102 |
-
'robots' => Array( 'name' => __( 'Link From Virtual Robots.txt', '
|
103 |
-
'rewrite' => Array( 'name' => __( 'Dynamically Generate Sitemap', '
|
104 |
-
'noindex' => Array( 'name' => __( 'Noindex Sitemap file', '
|
105 |
'condshow' => Array( "{$this->prefix}rewrite" => true ) )
|
106 |
);
|
107 |
|
108 |
$status_options = Array(
|
109 |
'link' => Array( 'default' => '', 'type' => 'html', 'label' => 'none', 'save' => false ),
|
110 |
-
'debug' => Array( 'name' => __( 'Debug Log', '
|
111 |
);
|
112 |
|
113 |
$this->layout = Array(
|
114 |
'status' => Array(
|
115 |
-
'name' => __( 'Sitemap Status', '
|
116 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/',
|
117 |
'options' => array_keys( $status_options ) ),
|
118 |
'default' => Array(
|
@@ -127,8 +127,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
127 |
$str = sprintf( "%0.1f", $i / 10.0 );
|
128 |
$prio[ $str ] = $str;
|
129 |
}
|
130 |
-
$arr_no = Array( 'no' => __( 'Do Not Override', '
|
131 |
-
$arr_sel = Array( 'sel' => __( 'Select Individual', '
|
132 |
$this->prio_sel = array_merge( $arr_no, $arr_sel, $prio );
|
133 |
$this->prio = array_merge( $arr_no, $prio );
|
134 |
|
@@ -137,14 +137,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
137 |
$this->freq_sel = array_merge( $arr_no, $arr_sel, $freq );
|
138 |
$this->freq = array_merge( $arr_no, $freq );
|
139 |
|
140 |
-
foreach( Array( 'prio' => __( 'priority', '
|
141 |
$s = "{$k}_options";
|
142 |
$$s = Array();
|
143 |
-
foreach( Array( 'homepage' => __( 'homepage', '
|
144 |
-
'post' => __( 'posts', '
|
145 |
-
'taxonomies' => __( 'taxonomies', '
|
146 |
-
'archive' => __( 'archive pages', '
|
147 |
-
'author' => __( 'author pages', '
|
148 |
$arr = $$s;
|
149 |
if ( ( $opt == 'post' ) || ( $opt == 'taxonomies' ) ) {
|
150 |
$iopts = $this->{"{$k}_sel"};
|
@@ -152,47 +152,47 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
152 |
$iopts = $this->$k;
|
153 |
}
|
154 |
|
155 |
-
$arr[ $k . '_' . $opt ] = Array( 'name' => $this->ucwords( $val ), 'help_text' => sprintf( __( "Manually set the %s of your %s.", '
|
156 |
if ( ( $opt == 'archive' ) || ( $opt == 'author' ) ) $arr[ $k . '_' . $opt ][ 'condshow' ] = Array( $this->prefix . $opt => 'on' );
|
157 |
$$s = $arr;
|
158 |
}
|
159 |
}
|
160 |
|
161 |
$addl_options = Array(
|
162 |
-
'addl_instructions' => Array( 'default' => '<div>' . __( 'Enter information below for any additional links for your sitemap not already managed through WordPress.', '
|
163 |
-
'addl_url' => Array( 'name' => __( 'Page URL', '
|
164 |
-
'addl_prio' => Array( 'name' => __( 'Page Priority', '
|
165 |
-
'addl_freq' => Array( 'name' => __( 'Page Frequency', '
|
166 |
-
'addl_mod' => Array( 'name' => __( 'Last Modified', '
|
167 |
-
'addl_pages'=> Array( 'name' => __( 'Additional Pages', '
|
168 |
-
'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add URL', '
|
169 |
);
|
170 |
|
171 |
$excl_options = Array(
|
172 |
-
'excl_categories' => Array( 'name' => __( 'Excluded Categories', '
|
173 |
-
'excl_pages' => Array( 'name' => __( 'Excluded Pages', '
|
174 |
);
|
175 |
|
176 |
$this->layout['addl_pages'] = Array(
|
177 |
-
'name' => __( 'Additional Pages', '
|
178 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#additional-pages',
|
179 |
'options' => array_keys( $addl_options )
|
180 |
);
|
181 |
|
182 |
$this->layout['excl_pages'] = Array(
|
183 |
-
'name' => __( 'Excluded Items', '
|
184 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#excluded-items',
|
185 |
'options' => array_keys( $excl_options )
|
186 |
);
|
187 |
|
188 |
$this->layout['priorities'] = Array(
|
189 |
-
'name' => __( 'Priorities', '
|
190 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
|
191 |
'options' => array_keys( $prio_options )
|
192 |
);
|
193 |
|
194 |
$this->layout['frequencies'] = Array(
|
195 |
-
'name' => __( 'Frequencies', '
|
196 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
|
197 |
'options' => array_keys( $freq_options )
|
198 |
);
|
@@ -215,11 +215,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
215 |
function add_cron_schedules( $schedules ) {
|
216 |
$schedules['weekly'] = array(
|
217 |
'interval' => 604800, // 1 week in seconds
|
218 |
-
'display' => __( 'Once Weekly', '
|
219 |
);
|
220 |
$schedules['monthly'] = array(
|
221 |
'interval' => 2629740, // 1 month in seconds
|
222 |
-
'display' => __( 'Once Monthly', '
|
223 |
);
|
224 |
return $schedules;
|
225 |
}
|
@@ -233,7 +233,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
233 |
function daily_update() {
|
234 |
$last_run = get_option( $this->prefix . 'cron_last_run' );
|
235 |
if ( empty( $last_run ) || ( time() - $last_run > 23.5 * 60 * 60 ) ) // sanity check
|
236 |
-
$this->do_sitemaps( __( "Daily scheduled sitemap check has finished.", '
|
237 |
$last_run = time();
|
238 |
update_option( $this->prefix . 'cron_last_run', $last_run );
|
239 |
}
|
@@ -291,16 +291,16 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
291 |
function add_post_types() {
|
292 |
$post_type_titles = $this->get_post_type_titles( Array( 'public' => true ) );
|
293 |
$taxonomy_titles = $this->get_taxonomy_titles( Array( 'public' => true ) );
|
294 |
-
if ( isset( $post_type_titles['attachment'] ) ) $post_type_titles['attachment'] = __( "Media / Attachments", '
|
295 |
-
$this->default_options['posttypes' ]['initial_options'] = array_merge( Array( 'all' => __( 'All Post Types', '
|
296 |
-
$this->default_options['taxonomies']['initial_options'] = array_merge( Array( 'all' => __( 'All Taxonomies', '
|
297 |
$this->default_options['posttypes' ]['default'] = array_keys( $this->default_options['posttypes' ]['initial_options'] );
|
298 |
$this->default_options['taxonomies']['default'] = array_keys( $this->default_options['taxonomies']['initial_options'] );
|
299 |
$this->default_options['excl_categories']['initial_options'] = $this->get_category_titles();
|
300 |
-
$prio_help = __( "Manually set the priority for the ", '
|
301 |
-
$freq_help = __( "Manually set the frequency for the ", '
|
302 |
-
$post_name = __( " Post Type", '
|
303 |
-
$tax_name = __( " Taxonomy", '
|
304 |
foreach( $post_type_titles as $k => $v ) {
|
305 |
$key = 'prio_post_' . $k;
|
306 |
$this->default_options = aioseop_array_insert_after( $this->default_options, 'prio_post', Array( $key => Array( 'name' => $v . $post_name, 'help_text' => $prio_help . $v . $post_name, 'type' => 'select', 'initial_options' => $this->prio, 'default' => 'no', 'condshow' => Array( "{$this->prefix}prio_post" => 'sel' ) ) ) );
|
@@ -331,7 +331,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
331 |
|
332 |
/** Change submit button to read "Update Sitemap". **/
|
333 |
function filter_submit( $submit ) {
|
334 |
-
$submit['Submit']['value'] = __( 'Update Sitemap', '
|
335 |
return $submit;
|
336 |
}
|
337 |
|
@@ -362,28 +362,28 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
362 |
$options[ $this->prefix . 'max_posts'] = 50000;
|
363 |
$url = trailingslashit( get_home_url() ) . $options[ $this->prefix . 'filename' ] . '.xml';
|
364 |
$options[ $this->prefix . 'link' ] = sprintf( __( "Please review your settings below and click %s to build your sitemap; then, %s.",
|
365 |
-
'
|
366 |
-
__( 'Update Sitemap', '
|
367 |
-
__( "view your sitemap", '
|
368 |
if ( $this->option_isset( 'rewrite' ) ) {
|
369 |
|
370 |
-
$options[ $this->prefix . 'link' ] .= '<p>' . __( "Note: you are using dynamic sitemap generation to keep your sitemap current; this will not generate a static sitemap file.", '
|
371 |
$rule = $this->get_rewrite_url( $url );
|
372 |
$rules = $this->get_rewrite_rules();
|
373 |
if ( in_array( $rule, $rules ) )
|
374 |
-
$options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation appears to be using the correct rewrite rules.", '
|
375 |
else
|
376 |
-
$options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation does not appear to be using the correct rewrite rules; please disable any other sitemap plugins or functionality on your site and reset your permalinks.", '
|
377 |
}
|
378 |
if ( !get_option( 'blog_public' ) ) {
|
379 |
global $wp_version;
|
380 |
if ( ( version_compare( $wp_version, '3.5.0', '>=' ) ) || ( function_exists( 'set_url_scheme' ) ) ) {
|
381 |
-
$privacy_link = '<a href="options-reading.php">' . __( 'Reading Settings', '
|
382 |
} else {
|
383 |
-
$privacy_link = '<a href="options-privacy.php">' . __( 'Privacy Settings', '
|
384 |
}
|
385 |
$options[ $this->prefix . 'link' ] .= '<p class="aioseop_error_notice">' . sprintf( __( "Warning: your privacy settings are configured to ask search engines to not index your site; you can change this under %s for your blog.",
|
386 |
-
'
|
387 |
}
|
388 |
if ( $this->option_isset( 'debug' ) ) $options["{$this->prefix}debug"] = '<pre>' . $options["{$this->prefix}debug"] . '</pre>';
|
389 |
return $options;
|
@@ -503,11 +503,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
503 |
function do_sitemap_scan() {
|
504 |
$msg = '';
|
505 |
if ( !empty( $this->options["{$this->prefix}rewrite"] ) && ( get_option('permalink_structure') == '' ) ) {
|
506 |
-
$msg = '<p>' . __( 'Warning: dynamic sitemap generation must have permalinks enabled.', '
|
507 |
}
|
508 |
if ( !empty( $_POST['aioseop_sitemap_rename_files'] ) || !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
|
509 |
$nonce = $_POST['nonce-aioseop'];
|
510 |
-
if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', '
|
511 |
if ( !empty( $_POST['aioseop_sitemap_conflict'] ) ) {
|
512 |
$files = $this->scan_match_files();
|
513 |
foreach ( $files as $f => $file ) $files[$f] = realpath( $file );
|
@@ -516,7 +516,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
516 |
if ( in_array( $ren_file, $files ) ) {
|
517 |
if ( !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
|
518 |
if ( $this->delete_file( $ren_file ) )
|
519 |
-
$msg .= "<p>" . sprintf( __( "Deleted %s.", '
|
520 |
continue;
|
521 |
}
|
522 |
$count = 0;
|
@@ -525,13 +525,13 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
525 |
$count++;
|
526 |
} while ( $this->file_exists( $ren_to ) && ( $count < 1000 ) );
|
527 |
if ( $count >= 1000 )
|
528 |
-
$msg .= "<p>" . sprintf( __( "Couldn't rename file %s!", '
|
529 |
else {
|
530 |
$ren = $this->rename_file( $ren_file, $ren_to );
|
531 |
if ( $ren )
|
532 |
-
$msg .= "<p>" . sprintf( __( "Renamed %s to %s.", '
|
533 |
}
|
534 |
-
} else $msg .= "<p>" . sprintf( __( "Couldn't find file %s!", '
|
535 |
}
|
536 |
}
|
537 |
} else {
|
@@ -583,12 +583,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
583 |
if ( preg_match( "/<!-- " . sprintf( $this->comment_string, '(.*)', '(.*)', '(.*)' ) . " -->/",
|
584 |
$file, $matches ) ) {
|
585 |
if ( !empty( $this->options["{$this->prefix}rewrite"] ) ) {
|
586 |
-
$msg .= '<p>' . sprintf( __( "Warning: a static sitemap '%s' generated by All in One SEO Pack %s on %s already exists that may conflict with dynamic sitemap generation.", '
|
587 |
$f, $matches[2], $matches[3] ) . "</p>\n";
|
588 |
$problem_files[] = $f;
|
589 |
}
|
590 |
} else {
|
591 |
-
$msg .= '<p>' . sprintf( __( "Potential conflict with unknown file %s.", '
|
592 |
$problem_files[] = $f;
|
593 |
}
|
594 |
}
|
@@ -607,8 +607,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
607 |
foreach ( $problem_files as $p )
|
608 |
$msg .= "<input type='hidden' name='aioseop_sitemap_conflict[]' value='" . esc_attr( basename ( realpath( $p ) ) ) . "'>\n";
|
609 |
$msg .= "<input type='hidden' name='nonce-aioseop' value='" . wp_create_nonce('aioseop-nonce') . "'>\n";
|
610 |
-
$msg .= "<input type='submit' name='aioseop_sitemap_rename_files' value='" . __( "Rename Conflicting Files", '
|
611 |
-
$msg .= "<input type='submit' name='aioseop_sitemap_delete_files' value='" . __( "Delete Conflicting Files", '
|
612 |
$msg = '<form action="" method="post">' . $msg . '</form>';
|
613 |
}
|
614 |
return $msg;
|
@@ -697,11 +697,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
697 |
$sitemap_memory_usage = $end_memory_usage - $this->start_memory_usage;
|
698 |
$end_memory_usage = $end_memory_usage / 1024.0 / 1024.0;
|
699 |
$sitemap_memory_usage = $sitemap_memory_usage / 1024.0 / 1024.0;
|
700 |
-
if ( $compressed ) $sitemap_type = __( 'compressed', '
|
701 |
if ( $dynamic )
|
702 |
-
$sitemap_type = __( 'dynamic', '
|
703 |
else
|
704 |
-
$sitemap_type = __( 'static', '
|
705 |
$this->debug_message( sprintf( " %01.2f MB memory used generating the %s sitemap in %01.3f seconds, %01.2f MB total memory used.", $sitemap_memory_usage, $sitemap_type, $time, $end_memory_usage ) );
|
706 |
}
|
707 |
|
@@ -767,7 +767,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
767 |
/** Output sitemaps dynamically based on rewrite rules. **/
|
768 |
function do_rewrite_sitemap( $sitemap_type, $page = 0 ) {
|
769 |
$this->add_post_types();
|
770 |
-
$comment = __( "dynamically", '
|
771 |
echo $this->do_build_sitemap( $sitemap_type, $page, '', $comment );
|
772 |
}
|
773 |
|
@@ -791,15 +791,15 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
791 |
$response = wp_remote_get( $notify_url[$k] . urlencode( $url ) );
|
792 |
if ( is_array( $response ) && !empty( $response['response'] ) && !empty( $response['response']['code'] ) ) {
|
793 |
if ( $response['response']['code'] == 200 ) {
|
794 |
-
$this->debug_message( sprintf( __( 'Successfully notified %s about changes to your sitemap at %s.', '
|
795 |
} else {
|
796 |
-
$this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, error code %s.', '
|
797 |
}
|
798 |
} else {
|
799 |
-
$this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, unable to access via wp_remote_get().', '
|
800 |
}
|
801 |
} else {
|
802 |
-
$this->debug_message( sprintf( __( 'Did not notify %s about changes to your sitemap.', '
|
803 |
}
|
804 |
}
|
805 |
|
@@ -826,7 +826,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
826 |
$this->do_indexed_sitemaps();
|
827 |
} else {
|
828 |
$this->log_start();
|
829 |
-
$comment = sprintf( __( "file '%s' statically", '
|
830 |
$sitemap = $this->do_simple_sitemap( $comment );
|
831 |
$this->write_sitemaps( $this->options["{$this->prefix}filename"], $sitemap );
|
832 |
$this->log_stats( 'root', $this->options["{$this->prefix}gzipped"], false );
|
@@ -838,7 +838,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
838 |
if ( !empty( $message ) && is_string( $message ) ) {
|
839 |
$this->debug_message( $message );
|
840 |
} else {
|
841 |
-
$this->debug_message( __( 'Updated sitemap settings.', '
|
842 |
}
|
843 |
}
|
844 |
|
@@ -968,7 +968,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
968 |
}
|
969 |
}
|
970 |
if ( empty( $comment ) )
|
971 |
-
$comment = __( "file '%s' statically", '
|
972 |
$sitemap_data = $this->get_sitemap_data( $sitemap_type, $page );
|
973 |
if ( ( $sitemap_type == 'root' ) && !empty( $this->options["{$this->prefix}indexes"] ) ) {
|
974 |
return $this->build_sitemap_index( $sitemap_data, sprintf( $comment, $filename ) );
|
@@ -986,7 +986,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
|
|
986 |
}
|
987 |
}
|
988 |
if ( empty( $comment ) )
|
989 |
-
$comment = __( "file '%s' statically", '
|
990 |
$this->write_sitemaps( $filename, $this->do_build_sitemap( $sitemap_type, $page, $filename, $comment ) );
|
991 |
}
|
992 |
|
21 |
|
22 |
function __construct( ) {
|
23 |
if ( get_class( $this ) === 'All_in_One_SEO_Pack_Sitemap' ) { // Set this up only when instantiated as this class
|
24 |
+
$this->name = __( 'XML Sitemap', 'all-in-one-seo-pack' ); // Human-readable name of the plugin
|
25 |
$this->prefix = 'aiosp_sitemap_'; // option prefix
|
26 |
$this->file = __FILE__; // the current file
|
27 |
$this->extra_sitemaps = Array();
|
28 |
$this->extra_sitemaps = apply_filters( $this->prefix . 'extra', $this->extra_sitemaps );
|
29 |
}
|
30 |
parent::__construct();
|
31 |
+
$this->comment_string = __( "Sitemap %s generated by All in One SEO Pack %s by Michael Torbert of Semper Fi Web Design on %s", 'all-in-one-seo-pack' );
|
32 |
|
33 |
$this->help_text = Array(
|
34 |
+
"filename" => __( "Specifies the name of your sitemap file. This will default to 'sitemap'.", 'all-in-one-seo-pack' ),
|
35 |
+
"google" => __( "Notify Google when you update your sitemap settings.", 'all-in-one-seo-pack' ),
|
36 |
+
"bing" => __("Notify Bing when you update your sitemap settings.", 'all-in-one-seo-pack' ),
|
37 |
+
"daily_cron" => __( "Notify search engines daily, and also update static sitemap daily if in use. (this uses WP-Cron, so make sure this is working properly on your server as well)", 'all-in-one-seo-pack' ),
|
38 |
+
"indexes" => __( "Organize sitemap entries into distinct files in your sitemap. Enable this only if your sitemap contains over 50,000 URLs or the file is over 5MB in size.", 'all-in-one-seo-pack' ),
|
39 |
+
"paginate" => __( "Split long sitemaps into separate files.", 'all-in-one-seo-pack' ),
|
40 |
+
"max_posts" => __( "Allows you to specify the maximum number of posts in a sitemap (up to 50,000).", 'all-in-one-seo-pack' ),
|
41 |
+
"posttypes" => __( "Select which Post Types appear in your sitemap.", 'all-in-one-seo-pack' ),
|
42 |
+
"taxonomies" => __( "Select which taxonomy archives appear in your sitemap", 'all-in-one-seo-pack' ),
|
43 |
+
"archive" => __( "Include Date Archives in your sitemap.", 'all-in-one-seo-pack' ),
|
44 |
+
"author" => __( "Include Author Archives in your sitemap.", 'all-in-one-seo-pack' ),
|
45 |
+
"gzipped" => __( "Create a compressed sitemap file in .xml.gz format.", 'all-in-one-seo-pack' ),
|
46 |
+
"robots" => __( "Places a link to your Sitemap.xml into your virtual Robots.txt file.", 'all-in-one-seo-pack' ),
|
47 |
+
"rewrite" => __( "Places a link to the sitemap file in your virtual Robots.txt file which WordPress creates.", 'all-in-one-seo-pack' ),
|
48 |
+
"noindex" => __( "Tells search engines not to index the sitemap file itself.", 'all-in-one-seo-pack' ),
|
49 |
+
"debug" => __( "Use rewrites to generate your sitemap on the fly. NOTE: This is required for WordPress Multisite.", 'all-in-one-seo-pack'),
|
50 |
+
"addl_url" => __( 'URL to the page.', 'all-in-one-seo-pack' ),
|
51 |
+
"addl_prio" => __( 'The priority of the page.', 'all-in-one-seo-pack' ),
|
52 |
+
"addl_freq" => __( 'The frequency of the page.', 'all-in-one-seo-pack' ),
|
53 |
+
"addl_mod" => __( 'Last modified date of the page.', 'all-in-one-seo-pack' ),
|
54 |
+
"excl_categories" => __( "Entries from these categories will be excluded from the sitemap.", 'all-in-one-seo-pack' ),
|
55 |
+
"excl_pages" => __( "Use page slugs or page IDs, seperated by commas, to exclude pages from the sitemap.", 'all-in-one-seo-pack' )
|
56 |
);
|
57 |
|
58 |
$this->help_anchors = Array(
|
76 |
);
|
77 |
|
78 |
$this->default_options = array(
|
79 |
+
'filename' => Array( 'name' => __( 'Filename Prefix', 'all-in-one-seo-pack' ),
|
80 |
'default' => 'sitemap', 'type' => 'text', 'sanitize' => 'filename' ),
|
81 |
+
'google' => Array( 'name' => __( 'Notify Google', 'all-in-one-seo-pack') ),
|
82 |
+
'bing' => Array( 'name' => __( 'Notify Bing', 'all-in-one-seo-pack') ),
|
83 |
+
'daily_cron'=> Array( 'name' => __( 'Schedule Updates', 'all-in-one-seo-pack' ), 'type' => 'select',
|
84 |
+
'initial_options' => Array( 0 => __( 'No Schedule', 'all-in-one-seo-pack' ),
|
85 |
+
'daily' => __( 'Daily', 'all-in-one-seo-pack' ),
|
86 |
+
'weekly' => __( 'Weekly', 'all-in-one-seo-pack' ),
|
87 |
+
'monthly'=> __( 'Monthly', 'all-in-one-seo-pack' ) ),
|
88 |
'default' => 0 ),
|
89 |
+
'indexes' => Array( 'name' => __( 'Enable Sitemap Indexes', 'all-in-one-seo-pack' ) ),
|
90 |
+
'paginate' => Array( 'name' => __( 'Paginate Sitemap Indexes', 'all-in-one-seo-pack' ),
|
91 |
'condshow' => Array( "{$this->prefix}indexes" => 'on' ) ),
|
92 |
+
'max_posts' => Array( 'name' => __( 'Maximum Posts Per Sitemap', 'all-in-one-seo-pack' ),
|
93 |
'type' => 'text', 'default' => 50000,
|
94 |
'condshow' => Array( "{$this->prefix}indexes" => 'on', "{$this->prefix}paginate" => 'on' ) ),
|
95 |
+
'posttypes' => Array( 'name' => __( 'Post Types', 'all-in-one-seo-pack'),
|
96 |
'type' => 'multicheckbox', 'default' => 'all' ),
|
97 |
+
'taxonomies'=> Array( 'name' => __( 'Taxonomies', 'all-in-one-seo-pack' ),
|
98 |
'type' => 'multicheckbox', 'default' => 'all' ),
|
99 |
+
'archive' => Array( 'name' => __( 'Include Date Archive Pages', 'all-in-one-seo-pack' ) ),
|
100 |
+
'author' => Array( 'name' => __( 'Include Author Pages', 'all-in-one-seo-pack' ) ),
|
101 |
+
'gzipped' => Array( 'name' => __( 'Create Compressed Sitemap', 'all-in-one-seo-pack' ), 'default' => 'On' ),
|
102 |
+
'robots' => Array( 'name' => __( 'Link From Virtual Robots.txt', 'all-in-one-seo-pack' ), 'default' => 'On' ),
|
103 |
+
'rewrite' => Array( 'name' => __( 'Dynamically Generate Sitemap', 'all-in-one-seo-pack' ), 'default' => 'On' ),
|
104 |
+
'noindex' => Array( 'name' => __( 'Noindex Sitemap file', 'all-in-one-seo-pack' ),
|
105 |
'condshow' => Array( "{$this->prefix}rewrite" => true ) )
|
106 |
);
|
107 |
|
108 |
$status_options = Array(
|
109 |
'link' => Array( 'default' => '', 'type' => 'html', 'label' => 'none', 'save' => false ),
|
110 |
+
'debug' => Array( 'name' => __( 'Debug Log', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'none', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px' )
|
111 |
);
|
112 |
|
113 |
$this->layout = Array(
|
114 |
'status' => Array(
|
115 |
+
'name' => __( 'Sitemap Status', 'all-in-one-seo-pack' ),
|
116 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/',
|
117 |
'options' => array_keys( $status_options ) ),
|
118 |
'default' => Array(
|
127 |
$str = sprintf( "%0.1f", $i / 10.0 );
|
128 |
$prio[ $str ] = $str;
|
129 |
}
|
130 |
+
$arr_no = Array( 'no' => __( 'Do Not Override', 'all-in-one-seo-pack' ) );
|
131 |
+
$arr_sel = Array( 'sel' => __( 'Select Individual', 'all-in-one-seo-pack' ) );
|
132 |
$this->prio_sel = array_merge( $arr_no, $arr_sel, $prio );
|
133 |
$this->prio = array_merge( $arr_no, $prio );
|
134 |
|
137 |
$this->freq_sel = array_merge( $arr_no, $arr_sel, $freq );
|
138 |
$this->freq = array_merge( $arr_no, $freq );
|
139 |
|
140 |
+
foreach( Array( 'prio' => __( 'priority', 'all-in-one-seo-pack' ), 'freq' => __( 'frequency', 'all-in-one-seo-pack' ) ) as $k => $v ) {
|
141 |
$s = "{$k}_options";
|
142 |
$$s = Array();
|
143 |
+
foreach( Array( 'homepage' => __( 'homepage', 'all-in-one-seo-pack' ),
|
144 |
+
'post' => __( 'posts', 'all-in-one-seo-pack' ),
|
145 |
+
'taxonomies' => __( 'taxonomies', 'all-in-one-seo-pack' ),
|
146 |
+
'archive' => __( 'archive pages', 'all-in-one-seo-pack' ),
|
147 |
+
'author' => __( 'author pages', 'all-in-one-seo-pack' ) ) as $opt => $val ) {
|
148 |
$arr = $$s;
|
149 |
if ( ( $opt == 'post' ) || ( $opt == 'taxonomies' ) ) {
|
150 |
$iopts = $this->{"{$k}_sel"};
|
152 |
$iopts = $this->$k;
|
153 |
}
|
154 |
|
155 |
+
$arr[ $k . '_' . $opt ] = Array( 'name' => $this->ucwords( $val ), 'help_text' => sprintf( __( "Manually set the %s of your %s.", 'all-in-one-seo-pack' ), $v, $val ), 'type' => 'select', 'initial_options' => $iopts, 'default' => 'no' );
|
156 |
if ( ( $opt == 'archive' ) || ( $opt == 'author' ) ) $arr[ $k . '_' . $opt ][ 'condshow' ] = Array( $this->prefix . $opt => 'on' );
|
157 |
$$s = $arr;
|
158 |
}
|
159 |
}
|
160 |
|
161 |
$addl_options = Array(
|
162 |
+
'addl_instructions' => Array( 'default' => '<div>' . __( 'Enter information below for any additional links for your sitemap not already managed through WordPress.', 'all-in-one-seo-pack' ) . '</div><br />', 'type' => 'html', 'label' => 'none', 'save' => false ),
|
163 |
+
'addl_url' => Array( 'name' => __( 'Page URL', 'all-in-one-seo-pack' ), 'type' => 'text', 'label' => 'top', 'save' => false ),
|
164 |
+
'addl_prio' => Array( 'name' => __( 'Page Priority', 'all-in-one-seo-pack' ), 'type' => 'select', 'initial_options' => $prio, 'label' => 'top', 'save' => false ),
|
165 |
+
'addl_freq' => Array( 'name' => __( 'Page Frequency', 'all-in-one-seo-pack' ), 'type' => 'select', 'initial_options' => $freq, 'label' => 'top', 'save' => false ),
|
166 |
+
'addl_mod' => Array( 'name' => __( 'Last Modified', 'all-in-one-seo-pack' ), 'type' => 'text', 'label' => 'top', 'save' => false ),
|
167 |
+
'addl_pages'=> Array( 'name' => __( 'Additional Pages', 'all-in-one-seo-pack' ), 'type' => 'custom', 'save' => true ),
|
168 |
+
'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add URL', 'all-in-one-seo-pack' ) . ' »', 'style' => 'margin-left: 20px;', 'label' => 'none', 'save' => false, 'value' => 1 )
|
169 |
);
|
170 |
|
171 |
$excl_options = Array(
|
172 |
+
'excl_categories' => Array( 'name' => __( 'Excluded Categories', 'all-in-one-seo-pack' ), 'type' => 'multicheckbox', 'initial_options' => '' ),
|
173 |
+
'excl_pages' => Array( 'name' => __( 'Excluded Pages', 'all-in-one-seo-pack' ), 'type' => 'text' )
|
174 |
);
|
175 |
|
176 |
$this->layout['addl_pages'] = Array(
|
177 |
+
'name' => __( 'Additional Pages', 'all-in-one-seo-pack' ),
|
178 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#additional-pages',
|
179 |
'options' => array_keys( $addl_options )
|
180 |
);
|
181 |
|
182 |
$this->layout['excl_pages'] = Array(
|
183 |
+
'name' => __( 'Excluded Items', 'all-in-one-seo-pack' ),
|
184 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#excluded-items',
|
185 |
'options' => array_keys( $excl_options )
|
186 |
);
|
187 |
|
188 |
$this->layout['priorities'] = Array(
|
189 |
+
'name' => __( 'Priorities', 'all-in-one-seo-pack' ),
|
190 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
|
191 |
'options' => array_keys( $prio_options )
|
192 |
);
|
193 |
|
194 |
$this->layout['frequencies'] = Array(
|
195 |
+
'name' => __( 'Frequencies', 'all-in-one-seo-pack' ),
|
196 |
'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
|
197 |
'options' => array_keys( $freq_options )
|
198 |
);
|
215 |
function add_cron_schedules( $schedules ) {
|
216 |
$schedules['weekly'] = array(
|
217 |
'interval' => 604800, // 1 week in seconds
|
218 |
+
'display' => __( 'Once Weekly', 'all-in-one-seo-pack' )
|
219 |
);
|
220 |
$schedules['monthly'] = array(
|
221 |
'interval' => 2629740, // 1 month in seconds
|
222 |
+
'display' => __( 'Once Monthly', 'all-in-one-seo-pack' )
|
223 |
);
|
224 |
return $schedules;
|
225 |
}
|
233 |
function daily_update() {
|
234 |
$last_run = get_option( $this->prefix . 'cron_last_run' );
|
235 |
if ( empty( $last_run ) || ( time() - $last_run > 23.5 * 60 * 60 ) ) // sanity check
|
236 |
+
$this->do_sitemaps( __( "Daily scheduled sitemap check has finished.", 'all-in-one-seo-pack' ) );
|
237 |
$last_run = time();
|
238 |
update_option( $this->prefix . 'cron_last_run', $last_run );
|
239 |
}
|
291 |
function add_post_types() {
|
292 |
$post_type_titles = $this->get_post_type_titles( Array( 'public' => true ) );
|
293 |
$taxonomy_titles = $this->get_taxonomy_titles( Array( 'public' => true ) );
|
294 |
+
if ( isset( $post_type_titles['attachment'] ) ) $post_type_titles['attachment'] = __( "Media / Attachments", 'all-in-one-seo-pack' );
|
295 |
+
$this->default_options['posttypes' ]['initial_options'] = array_merge( Array( 'all' => __( 'All Post Types', 'all-in-one-seo-pack' ) ), $post_type_titles );
|
296 |
+
$this->default_options['taxonomies']['initial_options'] = array_merge( Array( 'all' => __( 'All Taxonomies', 'all-in-one-seo-pack' ) ), $taxonomy_titles );
|
297 |
$this->default_options['posttypes' ]['default'] = array_keys( $this->default_options['posttypes' ]['initial_options'] );
|
298 |
$this->default_options['taxonomies']['default'] = array_keys( $this->default_options['taxonomies']['initial_options'] );
|
299 |
$this->default_options['excl_categories']['initial_options'] = $this->get_category_titles();
|
300 |
+
$prio_help = __( "Manually set the priority for the ", 'all-in-one-seo-pack' );
|
301 |
+
$freq_help = __( "Manually set the frequency for the ", 'all-in-one-seo-pack' );
|
302 |
+
$post_name = __( " Post Type", 'all-in-one-seo-pack' );
|
303 |
+
$tax_name = __( " Taxonomy", 'all-in-one-seo-pack' );
|
304 |
foreach( $post_type_titles as $k => $v ) {
|
305 |
$key = 'prio_post_' . $k;
|
306 |
$this->default_options = aioseop_array_insert_after( $this->default_options, 'prio_post', Array( $key => Array( 'name' => $v . $post_name, 'help_text' => $prio_help . $v . $post_name, 'type' => 'select', 'initial_options' => $this->prio, 'default' => 'no', 'condshow' => Array( "{$this->prefix}prio_post" => 'sel' ) ) ) );
|
331 |
|
332 |
/** Change submit button to read "Update Sitemap". **/
|
333 |
function filter_submit( $submit ) {
|
334 |
+
$submit['Submit']['value'] = __( 'Update Sitemap', 'all-in-one-seo-pack' ) . ' »';
|
335 |
return $submit;
|
336 |
}
|
337 |
|
362 |
$options[ $this->prefix . 'max_posts'] = 50000;
|
363 |
$url = trailingslashit( get_home_url() ) . $options[ $this->prefix . 'filename' ] . '.xml';
|
364 |
$options[ $this->prefix . 'link' ] = sprintf( __( "Please review your settings below and click %s to build your sitemap; then, %s.",
|
365 |
+
'all-in-one-seo-pack' ), sprintf( '<a href="#" onclick="document.dofollow.elements[\'Submit\'][0].click();">%s</a>',
|
366 |
+
__( 'Update Sitemap', 'all-in-one-seo-pack' ) ), '<a href="' . esc_url( $url ) . '" target="_blank">' .
|
367 |
+
__( "view your sitemap", 'all-in-one-seo-pack' ) . "</a>" );
|
368 |
if ( $this->option_isset( 'rewrite' ) ) {
|
369 |
|
370 |
+
$options[ $this->prefix . 'link' ] .= '<p>' . __( "Note: you are using dynamic sitemap generation to keep your sitemap current; this will not generate a static sitemap file.", 'all-in-one-seo-pack' ) . '</p>';
|
371 |
$rule = $this->get_rewrite_url( $url );
|
372 |
$rules = $this->get_rewrite_rules();
|
373 |
if ( in_array( $rule, $rules ) )
|
374 |
+
$options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation appears to be using the correct rewrite rules.", 'all-in-one-seo-pack' ) . '</p>';
|
375 |
else
|
376 |
+
$options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation does not appear to be using the correct rewrite rules; please disable any other sitemap plugins or functionality on your site and reset your permalinks.", 'all-in-one-seo-pack' ) . '</p>';
|
377 |
}
|
378 |
if ( !get_option( 'blog_public' ) ) {
|
379 |
global $wp_version;
|
380 |
if ( ( version_compare( $wp_version, '3.5.0', '>=' ) ) || ( function_exists( 'set_url_scheme' ) ) ) {
|
381 |
+
$privacy_link = '<a href="options-reading.php">' . __( 'Reading Settings', 'all-in-one-seo-pack' ) . '</a>';
|
382 |
} else {
|
383 |
+
$privacy_link = '<a href="options-privacy.php">' . __( 'Privacy Settings', 'all-in-one-seo-pack' ) . '</a>';
|
384 |
}
|
385 |
$options[ $this->prefix . 'link' ] .= '<p class="aioseop_error_notice">' . sprintf( __( "Warning: your privacy settings are configured to ask search engines to not index your site; you can change this under %s for your blog.",
|
386 |
+
'all-in-one-seo-pack' ), $privacy_link );
|
387 |
}
|
388 |
if ( $this->option_isset( 'debug' ) ) $options["{$this->prefix}debug"] = '<pre>' . $options["{$this->prefix}debug"] . '</pre>';
|
389 |
return $options;
|
503 |
function do_sitemap_scan() {
|
504 |
$msg = '';
|
505 |
if ( !empty( $this->options["{$this->prefix}rewrite"] ) && ( get_option('permalink_structure') == '' ) ) {
|
506 |
+
$msg = '<p>' . __( 'Warning: dynamic sitemap generation must have permalinks enabled.', 'all-in-one-seo-pack' ) . '</p>';
|
507 |
}
|
508 |
if ( !empty( $_POST['aioseop_sitemap_rename_files'] ) || !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
|
509 |
$nonce = $_POST['nonce-aioseop'];
|
510 |
+
if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', 'all-in-one-seo-pack' ) );
|
511 |
if ( !empty( $_POST['aioseop_sitemap_conflict'] ) ) {
|
512 |
$files = $this->scan_match_files();
|
513 |
foreach ( $files as $f => $file ) $files[$f] = realpath( $file );
|
516 |
if ( in_array( $ren_file, $files ) ) {
|
517 |
if ( !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
|
518 |
if ( $this->delete_file( $ren_file ) )
|
519 |
+
$msg .= "<p>" . sprintf( __( "Deleted %s.", 'all-in-one-seo-pack' ), $ren_file ) . "</p>";
|
520 |
continue;
|
521 |
}
|
522 |
$count = 0;
|
525 |
$count++;
|
526 |
} while ( $this->file_exists( $ren_to ) && ( $count < 1000 ) );
|
527 |
if ( $count >= 1000 )
|
528 |
+
$msg .= "<p>" . sprintf( __( "Couldn't rename file %s!", 'all-in-one-seo-pack' ), $ren_file) . "</p>";
|
529 |
else {
|
530 |
$ren = $this->rename_file( $ren_file, $ren_to );
|
531 |
if ( $ren )
|
532 |
+
$msg .= "<p>" . sprintf( __( "Renamed %s to %s.", 'all-in-one-seo-pack' ), $ren_file, $ren_to) . "</p>";
|
533 |
}
|
534 |
+
} else $msg .= "<p>" . sprintf( __( "Couldn't find file %s!", 'all-in-one-seo-pack' ), $ren_file) . "</p>";
|
535 |
}
|
536 |
}
|
537 |
} else {
|
583 |
if ( preg_match( "/<!-- " . sprintf( $this->comment_string, '(.*)', '(.*)', '(.*)' ) . " -->/",
|
584 |
$file, $matches ) ) {
|
585 |
if ( !empty( $this->options["{$this->prefix}rewrite"] ) ) {
|
586 |
+
$msg .= '<p>' . sprintf( __( "Warning: a static sitemap '%s' generated by All in One SEO Pack %s on %s already exists that may conflict with dynamic sitemap generation.", 'all-in-one-seo-pack' ),
|
587 |
$f, $matches[2], $matches[3] ) . "</p>\n";
|
588 |
$problem_files[] = $f;
|
589 |
}
|
590 |
} else {
|
591 |
+
$msg .= '<p>' . sprintf( __( "Potential conflict with unknown file %s.", 'all-in-one-seo-pack' ), $f ) . "</p>\n";
|
592 |
$problem_files[] = $f;
|
593 |
}
|
594 |
}
|
607 |
foreach ( $problem_files as $p )
|
608 |
$msg .= "<input type='hidden' name='aioseop_sitemap_conflict[]' value='" . esc_attr( basename ( realpath( $p ) ) ) . "'>\n";
|
609 |
$msg .= "<input type='hidden' name='nonce-aioseop' value='" . wp_create_nonce('aioseop-nonce') . "'>\n";
|
610 |
+
$msg .= "<input type='submit' name='aioseop_sitemap_rename_files' value='" . __( "Rename Conflicting Files", 'all-in-one-seo-pack' ) . "'> ";
|
611 |
+
$msg .= "<input type='submit' name='aioseop_sitemap_delete_files' value='" . __( "Delete Conflicting Files", 'all-in-one-seo-pack' ) . "'>";
|
612 |
$msg = '<form action="" method="post">' . $msg . '</form>';
|
613 |
}
|
614 |
return $msg;
|
697 |
$sitemap_memory_usage = $end_memory_usage - $this->start_memory_usage;
|
698 |
$end_memory_usage = $end_memory_usage / 1024.0 / 1024.0;
|
699 |
$sitemap_memory_usage = $sitemap_memory_usage / 1024.0 / 1024.0;
|
700 |
+
if ( $compressed ) $sitemap_type = __( 'compressed', 'all-in-one-seo-pack' ) . " $sitemap_type";
|
701 |
if ( $dynamic )
|
702 |
+
$sitemap_type = __( 'dynamic', 'all-in-one-seo-pack ') . " $sitemap_type";
|
703 |
else
|
704 |
+
$sitemap_type = __( 'static', 'all-in-one-seo-pack ') . " $sitemap_type";
|
705 |
$this->debug_message( sprintf( " %01.2f MB memory used generating the %s sitemap in %01.3f seconds, %01.2f MB total memory used.", $sitemap_memory_usage, $sitemap_type, $time, $end_memory_usage ) );
|
706 |
}
|
707 |
|
767 |
/** Output sitemaps dynamically based on rewrite rules. **/
|
768 |
function do_rewrite_sitemap( $sitemap_type, $page = 0 ) {
|
769 |
$this->add_post_types();
|
770 |
+
$comment = __( "dynamically", 'all-in-one-seo-pack' );
|
771 |
echo $this->do_build_sitemap( $sitemap_type, $page, '', $comment );
|
772 |
}
|
773 |
|
791 |
$response = wp_remote_get( $notify_url[$k] . urlencode( $url ) );
|
792 |
if ( is_array( $response ) && !empty( $response['response'] ) && !empty( $response['response']['code'] ) ) {
|
793 |
if ( $response['response']['code'] == 200 ) {
|
794 |
+
$this->debug_message( sprintf( __( 'Successfully notified %s about changes to your sitemap at %s.', 'all-in-one-seo-pack' ), $k, $url ) );
|
795 |
} else {
|
796 |
+
$this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, error code %s.', 'all-in-one-seo-pack' ), $k, $url, $response['response']['code'] ) );
|
797 |
}
|
798 |
} else {
|
799 |
+
$this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, unable to access via wp_remote_get().', 'all-in-one-seo-pack' ), $k, $url ) );
|
800 |
}
|
801 |
} else {
|
802 |
+
$this->debug_message( sprintf( __( 'Did not notify %s about changes to your sitemap.', 'all-in-one-seo-pack' ), $k, $url ) );
|
803 |
}
|
804 |
}
|
805 |
|
826 |
$this->do_indexed_sitemaps();
|
827 |
} else {
|
828 |
$this->log_start();
|
829 |
+
$comment = sprintf( __( "file '%s' statically", 'all-in-one-seo-pack' ), $this->options["{$this->prefix}filename"] );
|
830 |
$sitemap = $this->do_simple_sitemap( $comment );
|
831 |
$this->write_sitemaps( $this->options["{$this->prefix}filename"], $sitemap );
|
832 |
$this->log_stats( 'root', $this->options["{$this->prefix}gzipped"], false );
|
838 |
if ( !empty( $message ) && is_string( $message ) ) {
|
839 |
$this->debug_message( $message );
|
840 |
} else {
|
841 |
+
$this->debug_message( __( 'Updated sitemap settings.', 'all-in-one-seo-pack' ) );
|
842 |
}
|
843 |
}
|
844 |
|
968 |
}
|
969 |
}
|
970 |
if ( empty( $comment ) )
|
971 |
+
$comment = __( "file '%s' statically", 'all-in-one-seo-pack' );
|
972 |
$sitemap_data = $this->get_sitemap_data( $sitemap_type, $page );
|
973 |
if ( ( $sitemap_type == 'root' ) && !empty( $this->options["{$this->prefix}indexes"] ) ) {
|
974 |
return $this->build_sitemap_index( $sitemap_data, sprintf( $comment, $filename ) );
|
986 |
}
|
987 |
}
|
988 |
if ( empty( $comment ) )
|
989 |
+
$comment = __( "file '%s' statically", 'all-in-one-seo-pack' );
|
990 |
$this->write_sitemaps( $filename, $this->do_build_sitemap( $sitemap_type, $page, $filename, $comment ) );
|
991 |
}
|
992 |
|
all-in-one-seo-pack-ar.mo
ADDED
Binary file
|
all_in_one_seo_pack-bg_BG.mo → all-in-one-seo-pack-bg_BG.mo
RENAMED
File without changes
|
all_in_one_seo_pack-bg_NO.mo → all-in-one-seo-pack-bg_NO.mo
RENAMED
File without changes
|
all_in_one_seo_pack-cs_CZ.mo → all-in-one-seo-pack-cs_CZ.mo
RENAMED
File without changes
|
all_in_one_seo_pack-da_DK.mo → all-in-one-seo-pack-da_DK.mo
RENAMED
File without changes
|
all_in_one_seo_pack-de_DE.mo → all-in-one-seo-pack-de_DE.mo
RENAMED
File without changes
|
all_in_one_seo_pack-es_ES.mo → all-in-one-seo-pack-es_ES.mo
RENAMED
File without changes
|
all_in_one_seo_pack-fa_IR.mo → all-in-one-seo-pack-fa_IR.mo
RENAMED
File without changes
|
all_in_one_seo_pack-fr_FR.mo → all-in-one-seo-pack-fr_FR.mo
RENAMED
File without changes
|
all_in_one_seo_pack-he_IL.mo → all-in-one-seo-pack-he_IL.mo
RENAMED
File without changes
|
all-in-one-seo-pack-hi_IN.mo
ADDED
Binary file
|
all_in_one_seo_pack-hu_HU.mo → all-in-one-seo-pack-hu_HU.mo
RENAMED
File without changes
|
all_in_one_seo_pack-it_IT.mo → all-in-one-seo-pack-it_IT.mo
RENAMED
File without changes
|
all_in_one_seo_pack-ja.mo → all-in-one-seo-pack-ja.mo
RENAMED
File without changes
|
all_in_one_seo_pack-ko_KR.mo → all-in-one-seo-pack-ko_KR.mo
RENAMED
File without changes
|
all_in_one_seo_pack-nl_NL.mo → all-in-one-seo-pack-nl_NL.mo
RENAMED
File without changes
|
all_in_one_seo_pack-pl_PL.mo → all-in-one-seo-pack-pl_PL.mo
RENAMED
File without changes
|
all_in_one_seo_pack-pt_BR.mo → all-in-one-seo-pack-pt_BR.mo
RENAMED
File without changes
|
all_in_one_seo_pack-ro_RO.mo → all-in-one-seo-pack-ro_RO.mo
RENAMED
File without changes
|
all_in_one_seo_pack-ru_RU.mo → all-in-one-seo-pack-ru_RU.mo
RENAMED
File without changes
|
all_in_one_seo_pack-sk_SK.mo → all-in-one-seo-pack-sk_SK.mo
RENAMED
File without changes
|
all_in_one_seo_pack-tr_TR.mo → all-in-one-seo-pack-tr_TR.mo
RENAMED
File without changes
|
all_in_one_seo_pack-uk.mo → all-in-one-seo-pack-uk.mo
RENAMED
File without changes
|
all_in_one_seo_pack-zh_CN.mo → all-in-one-seo-pack-zh_CN.mo
RENAMED
File without changes
|
all_in_one_seo_pack-zh_TW.mo → all-in-one-seo-pack-zh_TW.mo
RENAMED
File without changes
|
all_in_one_seo_pack.pot → all-in-one-seo-pack.pot
RENAMED
File without changes
|
all_in_one_seo_pack.php
CHANGED
@@ -3,10 +3,10 @@
|
|
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.
|
7 |
Author: Michael Torbert
|
8 |
Author URI: http://michaeltorbert.com
|
9 |
-
Text Domain:
|
10 |
*/
|
11 |
|
12 |
/*
|
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
31 |
|
32 |
/**
|
33 |
* @package All-in-One-SEO-Pack
|
34 |
-
* @version 2.2.7.
|
35 |
*/
|
36 |
|
37 |
if ( ! defined( 'ABSPATH' ) ) return;
|
@@ -42,13 +42,13 @@ if ( ! defined( 'AIOSEOP_PLUGIN_NAME' ) )
|
|
42 |
define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
|
43 |
|
44 |
if ( ! defined( 'AIOSEOP_VERSION' ) )
|
45 |
-
define( 'AIOSEOP_VERSION', '2.2.7.
|
46 |
|
47 |
if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
|
48 |
define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
49 |
} elseif ( AIOSEOP_PLUGIN_DIR != plugin_dir_path( __FILE__ ) ) {
|
50 |
add_action( 'admin_notices', create_function( '', 'echo "' . "<div class='error'>" . sprintf(
|
51 |
-
__( "%s detected a conflict; please deactivate the plugin located in %s.", '
|
52 |
$aioseop_plugin_name, AIOSEOP_PLUGIN_DIR ) . "</div>" . '";' ) );
|
53 |
return;
|
54 |
}
|
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.4
|
7 |
Author: Michael Torbert
|
8 |
Author URI: http://michaeltorbert.com
|
9 |
+
Text Domain: all-in-one-seo-pack
|
10 |
*/
|
11 |
|
12 |
/*
|
31 |
|
32 |
/**
|
33 |
* @package All-in-One-SEO-Pack
|
34 |
+
* @version 2.2.7.4
|
35 |
*/
|
36 |
|
37 |
if ( ! defined( 'ABSPATH' ) ) return;
|
42 |
define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
|
43 |
|
44 |
if ( ! defined( 'AIOSEOP_VERSION' ) )
|
45 |
+
define( 'AIOSEOP_VERSION', '2.2.7.4' );
|
46 |
|
47 |
if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
|
48 |
define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
49 |
} elseif ( AIOSEOP_PLUGIN_DIR != plugin_dir_path( __FILE__ ) ) {
|
50 |
add_action( 'admin_notices', create_function( '', 'echo "' . "<div class='error'>" . sprintf(
|
51 |
+
__( "%s detected a conflict; please deactivate the plugin located in %s.", 'all-in-one-seo-pack' ),
|
52 |
$aioseop_plugin_name, AIOSEOP_PLUGIN_DIR ) . "</div>" . '";' ) );
|
53 |
return;
|
54 |
}
|
images/banner21.jpg
ADDED
Binary file
|
images/banner22.jpg
ADDED
Binary file
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== All in One SEO Pack ===
|
2 |
-
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: seo, all in one seo pack, search engine optimization, google
|
5 |
Requires at least: 3.3
|
6 |
Tested up to: 4.4
|
7 |
-
Stable tag: 2.2.7.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -69,7 +69,15 @@ Please read these **[FAQs](http://semperfiwebdesign.com/documentation/all-in-one
|
|
69 |
|
70 |
== Upgrade Notice ==
|
71 |
|
72 |
-
= 2.2.7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
-
Update for WordPress 4.4
|
75 |
|
1 |
=== All in One SEO Pack ===
|
2 |
+
Contributors: hallsofmontezuma, wpsmort
|
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: seo, all in one seo pack, search engine optimization, google
|
5 |
Requires at least: 3.3
|
6 |
Tested up to: 4.4
|
7 |
+
Stable tag: 2.2.7.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
69 |
|
70 |
== Upgrade Notice ==
|
71 |
|
72 |
+
= 2.2.7.4 =
|
73 |
+
|
74 |
+
-Update for WordPress 4.4
|
75 |
+
-CSS fixes
|
76 |
+
-Important localization improvements
|
77 |
+
-Update for Social Meta Module - Photo Twitter Card
|
78 |
+
-Add support for the full set of Twitter meta tags (https://dev.twitter.com/cards/markup)
|
79 |
+
-Bugfix for issue with Nonindex options for post types
|
80 |
+
-Bugfix for schema.org OG markup
|
81 |
+
|
82 |
|
|
|
83 |
|