WP Meta SEO - Version 1.2.0

Version Description

  • Change language to po/mo files
  • Include .pot file and French language
  • Setting for home page meta
  • Bigger edit meta boxes
  • Update icon of notification in meta view
Download this release

Release Info

Developer JoomUnited
Plugin Icon 128x128 WP Meta SEO
Version 1.2.0
Comparing to
See all releases

Code changes from version 1.1.0 to 1.2.0

css/style.css CHANGED
@@ -203,7 +203,7 @@ a.info .tooltip
203
}
204
205
.opt-info-warning{
206
- background:url('../img/warning-25x25.png') no-repeat scroll 1px 5px;
207
min-height:30px;
208
}
209
@@ -272,3 +272,6 @@ span.hz-loading{
272
min-height:14px;
273
}
274
203
}
204
205
.opt-info-warning{
206
+ background:url('../img/loop.png') no-repeat scroll 1px 5px;
207
min-height:30px;
208
}
209
272
min-height:14px;
273
}
274
275
+ .metaseo-img-meta{
276
+ max-width: 100%;
277
+ }
img/loop.png ADDED
Binary file
inc/class-metaseo-mutils.php CHANGED
@@ -23,27 +23,27 @@ class WPMSEO_Utils {
23
}
24
switch ($val) {
25
case 0:
26
- $score = __('N/A', 'wordpress-seo');
27
$css = 'na';
28
break;
29
case 4:
30
case 5:
31
- $score = __('Poor', 'wordpress-seo');
32
$css = 'poor';
33
break;
34
case 6:
35
case 7:
36
- $score = __('OK', 'wordpress-seo');
37
$css = 'ok';
38
break;
39
case 8:
40
case 9:
41
case 10:
42
- $score = __('Good', 'wordpress-seo');
43
$css = 'good';
44
break;
45
default:
46
- $score = __('Bad', 'wordpress-seo');
47
$css = 'bad';
48
break;
49
}
23
}
24
switch ($val) {
25
case 0:
26
+ $score = __('N/A', 'wpms');
27
$css = 'na';
28
break;
29
case 4:
30
case 5:
31
+ $score = __('Poor', 'wpms');
32
$css = 'poor';
33
break;
34
case 6:
35
case 7:
36
+ $score = __('OK', 'wpms');
37
$css = 'ok';
38
break;
39
case 8:
40
case 9:
41
case 10:
42
+ $score = __('Good', 'wpms');
43
$css = 'good';
44
break;
45
default:
46
+ $score = __('Bad', 'wpms');
47
$css = 'bad';
48
break;
49
}
inc/class.image-helper.php CHANGED
@@ -344,15 +344,15 @@ class ImageHelper{
344
$im = ' image ';
345
}
346
347
- $msg[$iID]['iNotGood']['msg'] = __($results['iNotGoodTotal'][$iID] .$im. 'with wrong size', 'wp-meta-seo');
348
$msg[$iID]['iNotGood']['warning'] = true;
349
350
- $msg[$iID]['iNotGood']['button'] = '<a href="javascript:void(0);" class=" img-resize button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="resize_image" onclick="showPostsList(this)">'.__('Resize image', 'wp-meta-seo').'<span class="spinner-light"></span></a>';
351
352
update_post_meta($iID, '_metaseo_resize_image_counter', $results['iNotGoodTotal'][$iID]);
353
update_post_meta($iID, '_metaseo_resize_image', $post_group);
354
}else{
355
- $msg[$iID]['iNotGood']['msg'] = __('Image sizes are good!', 'wp-meta-seo');
356
$msg[$iID]['iNotGood']['warning'] = false;
357
358
delete_post_meta($iID, '_metaseo_resize_image_counter');
@@ -369,16 +369,16 @@ class ImageHelper{
369
if($mkey == 'alt'){ $text = ' text'; }
370
371
if($results['imNotGoodTotal'][$iID][$mkey] > 1){
372
- $msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . 's are missing', 'wp-meta-seo');
373
}
374
elseif($results['imNotGoodTotal'][$iID][$mkey] == 1){
375
- $msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . ' is missing', 'wp-meta-seo');
376
}
377
378
}
379
380
$msg[$iID]['imNotGood']['warning'] = true;
381
- $msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Fix meta', 'wp-meta-seo').'<span class="spinner-light"></span></a>';
382
383
384
update_post_meta($iID, '_metaseo_fix_metas_counter', count($post_group));
@@ -388,7 +388,7 @@ class ImageHelper{
388
if( $results['imNotGoodTotal'][$iID]['alt'] == 0
389
&& $results['imNotGoodTotal'][$iID]['title'] == 0 ){
390
if($results['iNotGoodTotal'][$iID] != -1){
391
- $msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Edit meta', 'wp-meta-seo').'<span class="spinner-light"></span></a>';
392
}
393
else{
394
$msg[$iID]['imNotGood']['button'] = '';
@@ -414,7 +414,7 @@ class ImageHelper{
414
$query = "SELECT `post_content` FROM $wpdb->posts WHERE `ID`=" . $post_id;
415
416
if(!($post_content = @$wpdb->get_row($query)->post_content)){
417
- $ret['msg'] = __('This post is not existed or deleted, please choose one another!','wp-meta-seo');
418
419
return $ret;
420
}
@@ -456,10 +456,10 @@ class ImageHelper{
456
457
if($id){
458
$ret['success'] = true;
459
- $ret['msg'] = __('Well! This image is so good now.', 'wp-meta-seo');
460
}
461
else{
462
- $ret['msg'] = __('Opps! An error occured when updating the post, please try again', 'wp-meta-seo');
463
}
464
465
return $ret;
344
$im = ' image ';
345
}
346
347
+ $msg[$iID]['iNotGood']['msg'] = __($results['iNotGoodTotal'][$iID] .$im. 'with wrong size', 'wpms');
348
$msg[$iID]['iNotGood']['warning'] = true;
349
350
+ $msg[$iID]['iNotGood']['button'] = '<a href="javascript:void(0);" class=" img-resize button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="resize_image" onclick="showPostsList(this)">'.__('Resize image', 'wpms').'<span class="spinner-light"></span></a>';
351
352
update_post_meta($iID, '_metaseo_resize_image_counter', $results['iNotGoodTotal'][$iID]);
353
update_post_meta($iID, '_metaseo_resize_image', $post_group);
354
}else{
355
+ $msg[$iID]['iNotGood']['msg'] = __('Image sizes are good!', 'wpms');
356
$msg[$iID]['iNotGood']['warning'] = false;
357
358
delete_post_meta($iID, '_metaseo_resize_image_counter');
369
if($mkey == 'alt'){ $text = ' text'; }
370
371
if($results['imNotGoodTotal'][$iID][$mkey] > 1){
372
+ $msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . 's are missing', 'wpms');
373
}
374
elseif($results['imNotGoodTotal'][$iID][$mkey] == 1){
375
+ $msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . ' is missing', 'wpms');
376
}
377
378
}
379
380
$msg[$iID]['imNotGood']['warning'] = true;
381
+ $msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Fix meta', 'wpms').'<span class="spinner-light"></span></a>';
382
383
384
update_post_meta($iID, '_metaseo_fix_metas_counter', count($post_group));
388
if( $results['imNotGoodTotal'][$iID]['alt'] == 0
389
&& $results['imNotGoodTotal'][$iID]['title'] == 0 ){
390
if($results['iNotGoodTotal'][$iID] != -1){
391
+ $msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Edit meta', 'wpms').'<span class="spinner-light"></span></a>';
392
}
393
else{
394
$msg[$iID]['imNotGood']['button'] = '';
414
$query = "SELECT `post_content` FROM $wpdb->posts WHERE `ID`=" . $post_id;
415
416
if(!($post_content = @$wpdb->get_row($query)->post_content)){
417
+ $ret['msg'] = __('This post is not existed or deleted, please choose one another!','wpms');
418
419
return $ret;
420
}
456
457
if($id){
458
$ret['success'] = true;
459
+ $ret['msg'] = __('Well! This image is so good now.', 'wpms');
460
}
461
else{
462
+ $ret['msg'] = __('Opps! An error occured when updating the post, please try again', 'wpms');
463
}
464
465
return $ret;
inc/class.metaseo-admin.php CHANGED
@@ -10,6 +10,8 @@ class MetaSeo_Admin {
10
11
function __construct() {
12
$this->settings = array(
13
"metaseo_showfacebook"=>"",
14
"metaseo_showtwitter"=>"",
15
"metaseo_showtmetablock"=>0
@@ -38,10 +40,15 @@ class MetaSeo_Admin {
38
add_action( 'wp_ajax_updateContentMeta', array($this, 'updateContentMeta_callback') );
39
add_action( 'admin_init', array($this, 'stop_heartbeat') , 1 );
40
add_action('admin_init', array($this,'metaseo_field_settings'));
41
add_action('wp_ajax_metaseo_reload_analysis',array($this,'metaseo_reload_analysis'));
42
43
}
44
45
function metaseo_reload_analysis() {
46
if(empty($_POST['datas'])){
47
wp_send_json(false);
@@ -56,7 +63,7 @@ class MetaSeo_Admin {
56
$test = false;
57
if(is_array($words_meta_title) && is_array($words_post_title)){
58
foreach ($words_meta_title as $mtitle){
59
- if(in_array($mtitle, $words_post_title)){
60
$test = true;
61
}
62
}
@@ -65,14 +72,14 @@ class MetaSeo_Admin {
65
}
66
67
if($test){
68
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wp-meta-seo').'</div>';
69
$check ++;
70
}else{
71
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','wp-meta-seo').'</div>';
72
}
73
74
}else{
75
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wp-meta-seo').'</div>';
76
$check ++;
77
}
78
@@ -83,7 +90,7 @@ class MetaSeo_Admin {
83
$test1 = false;
84
if(is_array($words_title) && is_array($words_post_content)){
85
foreach ($words_title as $mtitle){
86
- if(in_array($mtitle, $words_post_content)){
87
$test1 = true;
88
}
89
}
@@ -92,41 +99,41 @@ class MetaSeo_Admin {
92
}
93
94
if($test1){
95
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','wp-meta-seo').'</div>';
96
$check ++;
97
}else{
98
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','wp-meta-seo').'</div>';
99
}
100
101
// page url matches page title
102
$mtitle = $_POST['datas']['title'];
103
if($_POST['datas']['mpageurl'] == sanitize_title($mtitle)){
104
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','wp-meta-seo').'</div>';
105
$check ++;
106
}else{
107
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','wp-meta-seo').'</div>';
108
}
109
110
// meta title filled
111
if($_POST['datas']['meta_title'] != '' && strlen($_POST['datas']['meta_title']) <= self::$title_length){
112
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','wp-meta-seo').'</div>';
113
$check++;
114
}else{
115
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','wp-meta-seo').'</div>';
116
}
117
118
// desc filled
119
if($_POST['datas']['meta_desc'] != '' && strlen($_POST['datas']['meta_desc']) <= self::$desc_length){
120
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','wp-meta-seo').'</div>';
121
$check++;
122
}else{
123
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','wp-meta-seo').'</div>';
124
}
125
126
// image resize
127
if($_POST['datas']['content'] == '') {
128
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
129
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wp-meta-seo').'</div>';
130
$check += 2;
131
}else{
132
$dom = new DOMDocument;
@@ -156,21 +163,21 @@ class MetaSeo_Admin {
156
}
157
158
if($img_wrong){
159
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
160
}else{
161
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
162
$check++;
163
}
164
165
if($img_wrong_alt){
166
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wp-meta-seo').'</div>';
167
}else{
168
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wp-meta-seo').'</div>';
169
$check++;
170
}
171
172
}else{
173
- $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
174
}
175
}
176
@@ -182,15 +189,26 @@ class MetaSeo_Admin {
182
function metaseo_field_settings(){
183
register_setting('Wp Meta SEO','_metaseo_settings');
184
add_settings_section('metaseo_dashboard','',array( $this, 'showSettings' ),'metaseo_settings');
185
- add_settings_field('metaseo_showfacebook', __('Facebook profile URL ', 'wp-meta-seo'), array( $this, 'showfacebook' ), 'metaseo_settings', 'metaseo_dashboard');
186
- add_settings_field('metaseo_showtwitter', __('Twitter Username ', 'wp-meta-seo'), array( $this, 'showtwitter' ), 'metaseo_settings', 'metaseo_dashboard');
187
- add_settings_field('metaseo_showtmetablock', __('Meta block edition ', 'wp-meta-seo'), array( $this, 'showtmetablock' ), 'metaseo_settings', 'metaseo_dashboard');
188
}
189
190
public function showSettings(){
191
192
}
193
194
195
public function showtmetablock(){
196
echo '<input id="metaseo_installnew" name="_metaseo_settings[metaseo_installnew]" type="hidden" value="old"/>';
@@ -256,26 +274,26 @@ class MetaSeo_Admin {
256
// wp_die();
257
// }
258
259
- $response->msg = __('Modification was saved', 'wp-meta-seo') ;
260
if($metakey == 'metatitle') {
261
if(!update_post_meta($postID, '_metaseo_metatitle', $value)) {
262
$response->updated = false;
263
- $response->msg = __('Meta title was not saved', 'wp-meta-seo') ;
264
}
265
else{
266
$response->updated = true;
267
- $response->msg = __('Meta title was saved', 'wp-meta-seo') ;
268
}
269
}
270
271
if($metakey =='metadesc') {
272
if(!update_post_meta($postID, '_metaseo_metadesc', $value)) {
273
$response->updated = false;
274
- $response->msg = __('Meta description was not saved', 'wp-meta-seo') ;
275
}
276
else{
277
$response->updated = true;
278
- $response->msg = __('Meta description was saved', 'wp-meta-seo') ;
279
}
280
}
281
@@ -288,16 +306,20 @@ class MetaSeo_Admin {
288
*
289
*/
290
public function loadAdminScripts($hook) {
291
-
292
wp_enqueue_script('jquery');
293
294
wp_enqueue_script(
295
'wpmetaseoAdmin', plugins_url('js/metaseo_admin.js', dirname(__FILE__)), array('jquery'), '0.1', true
296
);
297
298
- wp_enqueue_script('Chart', plugins_url('js/Chart.js', dirname(__FILE__)), array('jquery'), '0.1', true);
299
- wp_enqueue_script('dashboard-chart', plugins_url('js/dashboard-chart.js', dirname(__FILE__)), array('jquery'), '0.1', true);
300
-
301
// in JavaScript, object properties are accessed as ajax_object.ajax_url, ajax_object.we_value
302
wp_localize_script( 'wpmetaseoAdmin', 'myAjax',
303
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
@@ -320,10 +342,8 @@ class MetaSeo_Admin {
320
function register_menu_page() {
321
322
// Add main page
323
- $admin_page = add_menu_page(__('WP Meta SEO:', 'wp-meta-seo') . ' ' . __('Dashboard', 'wp-meta-seo'), __('WP Meta SEO', 'wp-meta-seo'), 'manage_options', 'metaseo_dashboard', array(
324
- $this,
325
- 'load_page',
326
- ), plugins_url('/img/icon.png', dirname(__FILE__)) );
327
328
/**
329
* Filter: 'metaseo_manage_options_capability' - Allow changing the capability users need to view the settings pages
@@ -337,7 +357,7 @@ class MetaSeo_Admin {
337
array(
338
'metaseo_dashboard',
339
'',
340
- __('Content meta', 'wp-meta-seo'),
341
$manage_options_cap,
342
'metaseo_content_meta',
343
array($this, 'load_page'),
@@ -346,7 +366,7 @@ class MetaSeo_Admin {
346
array(
347
'metaseo_dashboard',
348
'',
349
- __('Image meta', 'wp-meta-seo'),
350
$manage_options_cap,
351
'metaseo_image_meta',
352
array($this, 'load_page'),
@@ -355,7 +375,7 @@ class MetaSeo_Admin {
355
array(
356
'metaseo_dashboard',
357
'',
358
- __('Settings', 'wp-meta-seo'),
359
$manage_options_cap,
360
'metaseo_settings',
361
array($this, 'load_page'),
@@ -373,7 +393,7 @@ class MetaSeo_Admin {
373
foreach ($submenu_pages as $submenu_page) {
374
375
// Add submenu page
376
- $admin_page = add_submenu_page($submenu_page[0], $submenu_page[2] . ' - ' . __('WP Meta SEO:', 'wp-meta-seo'), $submenu_page[2], $submenu_page[3], $submenu_page[4], $submenu_page[5]);
377
378
// Check if we need to hook
379
if (isset($submenu_page[6]) && null != $submenu_page[6] && is_array($submenu_page[6]) && count($submenu_page[6]) > 0) {
@@ -386,7 +406,7 @@ class MetaSeo_Admin {
386
387
global $submenu;
388
if (isset($submenu['metaseo_dashboard']) && current_user_can($manage_options_cap)) {
389
- $submenu['metaseo_dashboard'][0][0] = __('Dashboard', 'wp-meta-seo');
390
}
391
}
392
10
11
function __construct() {
12
$this->settings = array(
13
+ "metaseo_title_home"=>"",
14
+ "metaseo_desc_home"=>"",
15
"metaseo_showfacebook"=>"",
16
"metaseo_showtwitter"=>"",
17
"metaseo_showtmetablock"=>0
40
add_action( 'wp_ajax_updateContentMeta', array($this, 'updateContentMeta_callback') );
41
add_action( 'admin_init', array($this, 'stop_heartbeat') , 1 );
42
add_action('admin_init', array($this,'metaseo_field_settings'));
43
+ add_action('init', array($this,'wpms_load_langguage'));
44
add_action('wp_ajax_metaseo_reload_analysis',array($this,'metaseo_reload_analysis'));
45
46
}
47
48
+ function wpms_load_langguage(){
49
+ load_plugin_textdomain( 'wpms', false, dirname( plugin_basename( WPMSEO_FILE ) ) . '/languages/' );
50
+ }
51
+
52
function metaseo_reload_analysis() {
53
if(empty($_POST['datas'])){
54
wp_send_json(false);
63
$test = false;
64
if(is_array($words_meta_title) && is_array($words_post_title)){
65
foreach ($words_meta_title as $mtitle){
66
+ if(in_array($mtitle, $words_post_title) && $mtitle != ''){
67
$test = true;
68
}
69
}
72
}
73
74
if($test){
75
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
76
$check ++;
77
}else{
78
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','wpms').'</div>';
79
}
80
81
}else{
82
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
83
$check ++;
84
}
85
90
$test1 = false;
91
if(is_array($words_title) && is_array($words_post_content)){
92
foreach ($words_title as $mtitle){
93
+ if(in_array($mtitle, $words_post_content) && $mtitle != ''){
94
$test1 = true;
95
}
96
}
99
}
100
101
if($test1){
102
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','wpms').'</div>';
103
$check ++;
104
}else{
105
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','wpms').'</div>';
106
}
107
108
// page url matches page title
109
$mtitle = $_POST['datas']['title'];
110
if($_POST['datas']['mpageurl'] == sanitize_title($mtitle)){
111
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','wpms').'</div>';
112
$check ++;
113
}else{
114
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','wpms').'</div>';
115
}
116
117
// meta title filled
118
if($_POST['datas']['meta_title'] != '' && strlen($_POST['datas']['meta_title']) <= self::$title_length){
119
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','wpms').'</div>';
120
$check++;
121
}else{
122
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','wpms').'</div>';
123
}
124
125
// desc filled
126
if($_POST['datas']['meta_desc'] != '' && strlen($_POST['datas']['meta_desc']) <= self::$desc_length){
127
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','wpms').'</div>';
128
$check++;
129
}else{
130
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','wpms').'</div>';
131
}
132
133
// image resize
134
if($_POST['datas']['content'] == '') {
135
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
136
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
137
$check += 2;
138
}else{
139
$dom = new DOMDocument;
163
}
164
165
if($img_wrong){
166
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
167
}else{
168
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
169
$check++;
170
}
171
172
if($img_wrong_alt){
173
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wpms').'</div>';
174
}else{
175
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
176
$check++;
177
}
178
179
}else{
180
+ $output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
181
}
182
}
183
189
function metaseo_field_settings(){
190
register_setting('Wp Meta SEO','_metaseo_settings');
191
add_settings_section('metaseo_dashboard','',array( $this, 'showSettings' ),'metaseo_settings');
192
+ add_settings_field('metaseo_title_home', __('Homepage meta title ', 'wpms'), array( $this, 'metaseo_title_home' ), 'metaseo_settings', 'metaseo_dashboard');
193
+ add_settings_field('metaseo_desc_home', __('Homepage meta description ', 'wpms'), array( $this, 'metaseo_desc_home' ), 'metaseo_settings', 'metaseo_dashboard');
194
+ add_settings_field('metaseo_showfacebook', __('Facebook profile URL ', 'wpms'), array( $this, 'showfacebook' ), 'metaseo_settings', 'metaseo_dashboard');
195
+ add_settings_field('metaseo_showtwitter', __('Twitter Username ', 'wpms'), array( $this, 'showtwitter' ), 'metaseo_settings', 'metaseo_dashboard');
196
+ add_settings_field('metaseo_showtmetablock', __('Meta block edition ', 'wpms'), array( $this, 'showtmetablock' ), 'metaseo_settings', 'metaseo_dashboard');
197
}
198
199
public function showSettings(){
200
201
}
202
203
+ public function metaseo_title_home(){
204
+ $home_title = isset( $this->settings['metaseo_title_home'] ) ? $this->settings['metaseo_title_home'] : '';
205
+ echo '<input id="metaseo_title_home" name="_metaseo_settings[metaseo_title_home]" type="text" value="'.esc_attr( $home_title ).'" size="50"/>';
206
+ }
207
+
208
+ public function metaseo_desc_home(){
209
+ $home_desc = isset( $this->settings['metaseo_desc_home'] ) ? $this->settings['metaseo_desc_home'] : '';
210
+ echo '<input id="metaseo_desc_home" name="_metaseo_settings[metaseo_desc_home]" type="text" value="'.esc_attr( $home_desc ).'" size="50"/>';
211
+ }
212
213
public function showtmetablock(){
214
echo '<input id="metaseo_installnew" name="_metaseo_settings[metaseo_installnew]" type="hidden" value="old"/>';
274
// wp_die();
275
// }
276
277
+ $response->msg = __('Modification was saved', 'wpms') ;
278
if($metakey == 'metatitle') {
279
if(!update_post_meta($postID, '_metaseo_metatitle', $value)) {
280
$response->updated = false;
281
+ $response->msg = __('Meta title was not saved', 'wpms') ;
282
}
283
else{
284
$response->updated = true;
285
+ $response->msg = __('Meta title was saved', 'wpms') ;
286
}
287
}
288
289
if($metakey =='metadesc') {
290
if(!update_post_meta($postID, '_metaseo_metadesc', $value)) {
291
$response->updated = false;
292
+ $response->msg = __('Meta description was not saved', 'wpms') ;
293
}
294
else{
295
$response->updated = true;
296
+ $response->msg = __('Meta description was saved', 'wpms') ;
297
}
298
}
299
306
*
307
*/
308
public function loadAdminScripts($hook) {
309
+ global $current_screen;
310
wp_enqueue_script('jquery');
311
312
wp_enqueue_script(
313
'wpmetaseoAdmin', plugins_url('js/metaseo_admin.js', dirname(__FILE__)), array('jquery'), '0.1', true
314
);
315
+ if($current_screen->base == 'toplevel_page_metaseo_dashboard'){
316
+ wp_enqueue_script('Chart', plugins_url('js/Chart.js', dirname(__FILE__)), array('jquery'), '0.1', true);
317
+ wp_enqueue_script('dashboard-chart', plugins_url('js/dashboard-chart.js', dirname(__FILE__)), array('jquery'), '0.1', true);
318
+ }
319
320
+ if($current_screen->base == 'wp-meta-seo_page_metaseo_image_meta'){
321
+ wp_enqueue_script('mautosize', plugins_url('js/autosize.js', dirname(__FILE__)), array('jquery'), '0.1', true);
322
+ }
323
// in JavaScript, object properties are accessed as ajax_object.ajax_url, ajax_object.we_value
324
wp_localize_script( 'wpmetaseoAdmin', 'myAjax',
325
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
342
function register_menu_page() {
343
344
// Add main page
345
+ $admin_page = add_menu_page(__('WP Meta SEO:', 'wpms') . ' ' . __('Dashboard', 'wpms'), __('WP Meta SEO', 'wpms'), 'manage_options', 'metaseo_dashboard', array(
346
+ $this,'load_page',) , 'dashicons-chart-area' );
347
348
/**
349
* Filter: 'metaseo_manage_options_capability' - Allow changing the capability users need to view the settings pages
357
array(
358
'metaseo_dashboard',
359
'',
360
+ __('Content meta', 'wpms'),
361
$manage_options_cap,
362
'metaseo_content_meta',
363
array($this, 'load_page'),
366
array(
367
'metaseo_dashboard',
368
'',
369
+ __('Image meta', 'wpms'),
370
$manage_options_cap,
371
'metaseo_image_meta',
372
array($this, 'load_page'),
375
array(
376
'metaseo_dashboard',
377
'',
378
+ __('Settings', 'wpms'),
379
$manage_options_cap,
380
'metaseo_settings',
381
array($this, 'load_page'),
393
foreach ($submenu_pages as $submenu_page) {
394
395
// Add submenu page
396
+ $admin_page = add_submenu_page($submenu_page[0], $submenu_page[2] . ' - ' . __('WP Meta SEO:', 'wpms'), $submenu_page[2], $submenu_page[3], $submenu_page[4], $submenu_page[5]);
397
398
// Check if we need to hook
399
if (isset($submenu_page[6]) && null != $submenu_page[6] && is_array($submenu_page[6]) && count($submenu_page[6]) > 0) {
406
407
global $submenu;
408
if (isset($submenu['metaseo_dashboard']) && current_user_can($manage_options_cap)) {
409
+ $submenu['metaseo_dashboard'][0][0] = __('Dashboard', 'wpms');
410
}
411
}
412
inc/class.metaseo-content-list-table.php CHANGED
@@ -129,10 +129,10 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
129
130
function get_columns() {
131
return $columns = array(
132
- 'col_id' => __('', 'wp-meta-seo'),
133
- 'col_title' => __('Title', 'wp-meta-seo'),
134
- 'col_meta_title' => __('Meta Title', 'wp-meta-seo'),
135
- 'col_meta_desc' => __('Meta Description', 'wp-meta-seo')
136
);
137
}
138
@@ -294,7 +294,7 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
294
295
case 'col_title':
296
$post_title = stripslashes($rec->post_title);
297
- if($post_title == '') $post_title = __('(no title)' , 'wp-meta-seo');
298
echo sprintf('<td %2$s><div class="action-wrapper"><strong id="post-title-'.$rec->ID.'">%1$s</strong>', $post_title, $attributes);
299
300
$post_type_object = get_post_type_object($rec->post_type);
@@ -317,13 +317,13 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
317
318
echo $this->row_actions($actions);
319
echo '</div><div class="snippet-wrapper">';
320
- $preview = __(" This is a rendering of what this post might look like in Google's search results.", 'wp-meta-seo');
321
$info = sprintf('<a class="info-content"><img src=' . WPMETASEO_PLUGIN_URL . 'img/info.png href="#">'
322
. '<p class="tooltip-metacontent">'
323
.$preview
324
.'</p></a>');
325
326
- echo '<div><strong>' . __('Snippet Preview', 'wp-meta-seo') . '</strong> ' . $info. '</div>';
327
328
echo '<div class="snippet">
329
<a id="snippet_title'.$rec->ID . '" class="snippet_metatitle">'.(!empty($rec->metatitle) ? $rec->metatitle : $rec->post_title).'</a>';
@@ -579,7 +579,7 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
579
return null;
580
}
581
//These info may be got from database in later version
582
- $mseo = 'wp-meta-seo/wp-meta-seo.php';
583
$yoast = 'wordpress-seo/wp-seo.php';
584
$aio = 'all-in-one-seo-pack/all_in_one_seo_pack.php';
585
129
130
function get_columns() {
131
return $columns = array(
132
+ 'col_id' => __('', 'wpms'),
133
+ 'col_title' => __('Title', 'wpms'),
134
+ 'col_meta_title' => __('Meta Title', 'wpms'),
135
+ 'col_meta_desc' => __('Meta Description', 'wpms')
136
);
137
}
138
294
295
case 'col_title':
296
$post_title = stripslashes($rec->post_title);
297
+ if($post_title == '') $post_title = __('(no title)' , 'wpms');
298
echo sprintf('<td %2$s><div class="action-wrapper"><strong id="post-title-'.$rec->ID.'">%1$s</strong>', $post_title, $attributes);
299
300
$post_type_object = get_post_type_object($rec->post_type);
317
318
echo $this->row_actions($actions);
319
echo '</div><div class="snippet-wrapper">';
320
+ $preview = __(" This is a rendering of what this post might look like in Google's search results.", 'wpms');
321
$info = sprintf('<a class="info-content"><img src=' . WPMETASEO_PLUGIN_URL . 'img/info.png href="#">'
322
. '<p class="tooltip-metacontent">'
323
.$preview
324
.'</p></a>');
325
326
+ echo '<div><strong>' . __('Snippet Preview', 'wpms') . '</strong> ' . $info. '</div>';
327
328
echo '<div class="snippet">
329
<a id="snippet_title'.$rec->ID . '" class="snippet_metatitle">'.(!empty($rec->metatitle) ? $rec->metatitle : $rec->post_title).'</a>';
579
return null;
580
}
581
//These info may be got from database in later version
582
+ $mseo = 'wpms/wpms.php';
583
$yoast = 'wordpress-seo/wp-seo.php';
584
$aio = 'all-in-one-seo-pack/all_in_one_seo_pack.php';
585
inc/class.metaseo-dashboard.php CHANGED
@@ -138,7 +138,7 @@ class MetaSeo_Dashboard {
138
echo $rank;
139
}
140
else{
141
- echo __('We can\'t get rank of this site from Alexa.com!', 'wp-meta-seo');
142
}
143
}
144
138
echo $rank;
139
}
140
else{
141
+ echo __('We can\'t get rank of this site from Alexa.com!', 'wpms');
142
}
143
}
144
inc/class.metaseo-image-list-table.php CHANGED
@@ -133,14 +133,14 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
133
134
function get_columns() {
135
return $columns = array(
136
- 'col_id' => __('ID', 'wp-meta-seo'),
137
- 'col_image' => __('Image', 'wp-meta-seo'),
138
- 'col_image_name' => __('Name', 'wp-meta-seo'),
139
- 'col_image_info' => __('Optimization Info', 'wp-meta-seo'),
140
- 'col_image_alternative' => __('Alternative text', 'wp-meta-seo'),
141
- 'col_image_title' => __('Title', 'wp-meta-seo'),
142
- 'col_image_legend' => __('Legend', 'wp-meta-seo'),
143
- 'col_image_desc' => __('Description', 'wp-meta-seo'),
144
);
145
}
146
@@ -459,7 +459,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
459
460
case 'col_image_name':
461
$info = '<div class="img-name-wrapper">';
462
- $info .= '<input type="text" name="name_image['.$rec->ID.']" class="metaseo-img-meta metaseo-img-name" data-meta-type="change_image_name" id="img-name-'.$rec->ID.'" data-post-id="'.$rec->ID.'" size="12" value="'.$img_name.'" data-extension="'.$type.'" /><span class="img_type">'.$type.'</span>';
463
#$info .= '<p class="savedInfo" style="display:none;"></p>';
464
$info .= '<p>size: ' . $img_size . $img_sizes. '</p>';
465
$info .= '<p>' . $img_width . 'x' . $img_height . '</p>';
@@ -488,7 +488,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
488
break;
489
490
case 'col_image_alternative':
491
- $input = ("<input name='img_alternative[$rec->ID]' class='metaseo-img-meta' data-meta-type='alt_text' id='img-alt-$rec->ID' data-post-id='$rec->ID' size='13' value='". esc_attr($rec->alt)."' type='text'>");
492
$input .= ('<span class="saved-info" style="position:relative">
493
<span class="meta-update" style="position:absolute"></span>
494
</span>');
@@ -496,7 +496,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
496
break;
497
498
case 'col_image_title':
499
- $input = ("<input name='img_title[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_title' id='img-title-$rec->ID' data-post-id='$rec->ID' size='13' value='".esc_attr($rec->title)."' type='text'>");
500
$input .= ('<span class="saved-info" style="position:relative">
501
<span class="meta-update" style="position:absolute"></span>
502
</span>');
@@ -504,7 +504,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
504
break;
505
506
case 'col_image_legend':
507
- $input = ("<input name='img_legend[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_caption' id='img-legend-$rec->ID' data-post-id='$rec->ID' value='".esc_attr($rec->legend)."' size='13' type='text'>");
508
$input .= ('<span class="saved-info" style="position:relative">
509
<span class="meta-update" style="position:absolute"></span>
510
</span>');
@@ -512,7 +512,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
512
break;
513
514
case 'col_image_desc':
515
- $input = ("<input name='img_desc[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_description' id='img-desc-$rec->ID' data-post-id='$rec->ID' size='30' value='".esc_attr($rec->des)."' type='text'>");
516
$input .= ('<span class="saved-info" style="position:relative">
517
<span class="meta-update" style="position:absolute"></span>
518
</span>');
@@ -580,9 +580,9 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
580
581
private static function display_fix_metas_list($img_post_id, $posts, $meta_counter, $p, $im){
582
if($meta_counter){
583
- $header = __('We found ' . $meta_counter . $im . $p . 'which needed to add or change meta information', 'wp-meta-seo');
584
}else{
585
- $header = __('We found 0 image which needed to add or change meta information', 'wp-meta-seo');
586
}
587
588
//Get default meta information of the image
@@ -597,7 +597,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
597
<tbody>
598
<?php $alternate = '';?>
599
<?php if(count($posts) < 1): ?>
600
- <tr><td colspan="10" style="height:95%"><?php echo __('This image has still not been inserted in any post!', 'wp-meta-seo') ?></td></tr>
601
<?php else: ?>
602
<tr class="metaseo-border-bottom">
603
<td colspan="1">ID</td>
@@ -629,7 +629,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
629
$value = str_replace($chr, htmlentities2($chr), $value);
630
}
631
?>
632
- <input type="text" value="<?php echo ($value != '' ? $value : ''); ?>" id="metaseo-img-<?php echo $type. '-' .$post['ID'] ?>" class="metaseo-fix-meta metaseo-img-<?php echo $type ?>" data-meta-key="_metaseo_fix_metas" data-post-id="<?php echo $post['ID'] ?>" data-img-post-id="<?php echo $img_post_id ?>" data-meta-type="<?php echo $type ?>" data-meta-order="<?php echo $k ?>" data-file-name="<?php echo $file_name; ?>" placeholder="<?php echo ($value == '' ? __(ucfirst($type) . ' is empty', 'wp-meta-seo') : '') ?>" onfocus="metaseo_fix_meta(this);" onblur="updateInputBlur(this)" onkeydown="return checkeyCode(event,this)" />
633
<span class="meta-update"></span>
634
<?php if(trim($type) != '' && trim($type) != $value): ?>
635
<a class="button meta-default" href="#" data-default-value="<?php echo esc_attr($type) ?>" title="Add to input box" onclick="add_meta_default(this)"> <?php echo '<img src= "' . WPMETASEO_PLUGIN_URL . 'img/img-arrow.png" />' ?> Copy </a>
@@ -654,7 +654,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
654
655
private static function display_resize_image_list($img_post_id,$posts, $img_counter, $p, $im){
656
657
- $header = __('We found ' . $img_counter . $im . $p . ' which needed to optimize', 'wp-meta-seo');
658
?>
659
<h3 class="content-header"><?php echo $header ?></h3>
660
<div class="content-box">
@@ -695,7 +695,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
695
<?php endforeach ?>
696
</td>
697
<td colspan="2" class="metaseo-action">
698
- <a href="javascript:void(0);" class="metaseo-optimize button" data-img-post-id="<?php echo $img_post_id ?>" data-post-id="<?php echo $post['ID'] ?>" onclick="optimize_imgs(this)"><?php echo __('Replace?', 'wp-meta-seo') ?></a>
699
<span class="optimizing spinner"></span>
700
</td>
701
<td colspan="4">
@@ -749,7 +749,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
749
else{
750
$ret = array(
751
'success' => false,
752
- 'msg' => __('The post is not existed, please choose one another!', 'wp-meta-seo')
753
);
754
}
755
@@ -997,18 +997,18 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
997
998
if(wp_update_post($data)){
999
$response->updated = true;
1000
- $response->msg = __($label . ' was saved', 'wp-meta-seo');
1001
}
1002
}
1003
else{
1004
update_post_meta($post_id, $aliases[$meta_type], $meta_value);
1005
$response->updated = true;
1006
- $response->msg = __($label . ' was saved', 'wp-meta-seo');
1007
}
1008
1009
}
1010
else{
1011
- $response->msg = __('There is a problem when update image meta!', 'wp-meta-seo');
1012
}
1013
1014
echo json_encode($response);
@@ -1025,7 +1025,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
1025
$linkold = $img_meta['file'];
1026
$response = new stdClass();
1027
$response->updated = FALSE;
1028
- $response->msg = __('There is a problem when update image name', 'wp-meta-seo');
1029
1030
$upload_dirs = wp_upload_dir();
1031
$upload_dir = $upload_dirs['basedir'];
@@ -1127,24 +1127,24 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
1127
update_post_meta($postID, '_wp_attachment_metadata', $attached_metadata);
1128
1129
$response->updated = true;
1130
- $response->msg = __('Image name was changed', 'wp-meta-seo');
1131
} else {
1132
$response->iname = $old_name;
1133
- $response->msg = __('There is a problem when update image name', 'wp-meta-seo');
1134
}
1135
}
1136
} else {
1137
1138
- $response->msg = __('Name is existing', 'wp-meta-seo');
1139
$response->iname = $old_name;
1140
}
1141
} else {
1142
$response->iname = $old_name;
1143
- $response->msg = __('File is not existed', 'wp-meta-seo');
1144
}
1145
} else {
1146
$response->iname = $old_name;
1147
- $response->msg = __('Should not be empty', 'wp-meta-seo');
1148
}
1149
echo json_encode($response);
1150
wp_die();
@@ -1156,7 +1156,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
1156
$response->updated = false;
1157
foreach($_post as $k => $v){
1158
if(!$v && !in_array($k, array('meta_value', 'meta_order'))){
1159
- $response->msg = __('There is a problem when update image meta!', 'wp-meta-seo') ;
1160
1161
echo json_encode($response);
1162
wp_die();
@@ -1179,7 +1179,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
1179
//Then we must update this meta info in the appropriate post content
1180
if(!$post = get_post($post_id))
1181
{
1182
- $response->msg = __('The post has been deleted before, please check again!', 'wp-meta-seo');
1183
}
1184
else{
1185
if($post->post_content !== ''){
@@ -1214,19 +1214,19 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
1214
1215
//Update content of this post.
1216
if(!wp_update_post(array('ID' => $post->ID, 'post_content' => $post_content))){
1217
- $response->msg = __('The post haven\'t been updated, please check again!', 'wp-meta-seo');
1218
}
1219
else{
1220
$response->updated = true;
1221
- $response->msg = __(ucfirst($meta_type) . ' was saved','wp-meta-seo') ;
1222
}
1223
}
1224
else{
1225
- $response->msg = __('This image has been removed from the post, please check again!', 'wp-meta-seo');
1226
}
1227
}
1228
else{
1229
- $response->msg = __('Content of the post is empty, please check again', 'wp-meta-seo!');
1230
}
1231
}
1232
133
134
function get_columns() {
135
return $columns = array(
136
+ 'col_id' => __('ID', 'wpms'),
137
+ 'col_image' => __('Image', 'wpms'),
138
+ 'col_image_name' => __('Name', 'wpms'),
139
+ 'col_image_info' => __('Optimization Info', 'wpms'),
140
+ 'col_image_alternative' => __('Alternative text', 'wpms'),
141
+ 'col_image_title' => __('Title', 'wpms'),
142
+ 'col_image_legend' => __('Legend', 'wpms'),
143
+ 'col_image_desc' => __('Description', 'wpms'),
144
);
145
}
146
459
460
case 'col_image_name':
461
$info = '<div class="img-name-wrapper">';
462
+ $info .= '<textarea name="name_image['.$rec->ID.']" class="metaseo-img-meta metaseo-img-name" data-meta-type="change_image_name" id="img-name-'.$rec->ID.'" data-post-id="'.$rec->ID.'" rows="2" data-extension="'.$type.'">'.$img_name.'</textarea><span class="img_type">'.$type.'</span>';
463
#$info .= '<p class="savedInfo" style="display:none;"></p>';
464
$info .= '<p>size: ' . $img_size . $img_sizes. '</p>';
465
$info .= '<p>' . $img_width . 'x' . $img_height . '</p>';
488
break;
489
490
case 'col_image_alternative':
491
+ $input = ("<textarea name='img_alternative[$rec->ID]' class='metaseo-img-meta' data-meta-type='alt_text' id='img-alt-$rec->ID' data-post-id='$rec->ID' rows='2'>". esc_attr($rec->alt)."</textarea>");
492
$input .= ('<span class="saved-info" style="position:relative">
493
<span class="meta-update" style="position:absolute"></span>
494
</span>');
496
break;
497
498
case 'col_image_title':
499
+ $input = ("<textarea name='img_title[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_title' id='img-title-$rec->ID' data-post-id='$rec->ID' rows='2'>".esc_attr($rec->title)."</textarea>");
500
$input .= ('<span class="saved-info" style="position:relative">
501
<span class="meta-update" style="position:absolute"></span>
502
</span>');
504
break;
505
506
case 'col_image_legend':
507
+ $input = ("<textarea name='img_legend[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_caption' id='img-legend-$rec->ID' data-post-id='$rec->ID' rows='2'>".esc_attr($rec->legend)."</textarea>");
508
$input .= ('<span class="saved-info" style="position:relative">
509
<span class="meta-update" style="position:absolute"></span>
510
</span>');
512
break;
513
514
case 'col_image_desc':
515
+ $input = ("<textarea name='img_desc[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_description' id='img-desc-$rec->ID' data-post-id='$rec->ID' rows='2'>".esc_attr($rec->des)."</textarea>");
516
$input .= ('<span class="saved-info" style="position:relative">
517
<span class="meta-update" style="position:absolute"></span>
518
</span>');
580
581
private static function display_fix_metas_list($img_post_id, $posts, $meta_counter, $p, $im){
582
if($meta_counter){
583
+ $header = sprintf(__('We found %s which needed to add or change meta information', 'wpms'),$meta_counter . $im . $p);
584
}else{
585
+ $header = sprintf(__('We found %s which needed to add or change meta information', 'wpms'), 0);//__('We found 0 image which needed to add or change meta information', 'wpms');
586
}
587
588
//Get default meta information of the image
597
<tbody>
598
<?php $alternate = '';?>
599
<?php if(count($posts) < 1): ?>
600
+ <tr><td colspan="10" style="height:95%"><?php echo __('This image has still not been inserted in any post!', 'wpms') ?></td></tr>
601
<?php else: ?>
602
<tr class="metaseo-border-bottom">
603
<td colspan="1">ID</td>
629
$value = str_replace($chr, htmlentities2($chr), $value);
630
}
631
?>
632
+ <input type="text" value="<?php echo ($value != '' ? $value : ''); ?>" id="metaseo-img-<?php echo $type. '-' .$post['ID'] ?>" class="metaseo-fix-meta metaseo-img-<?php echo $type ?>" data-meta-key="_metaseo_fix_metas" data-post-id="<?php echo $post['ID'] ?>" data-img-post-id="<?php echo $img_post_id ?>" data-meta-type="<?php echo $type ?>" data-meta-order="<?php echo $k ?>" data-file-name="<?php echo $file_name; ?>" placeholder="<?php echo ($value == '' ? __(ucfirst($type) . ' is empty', 'wpms') : '') ?>" onfocus="metaseo_fix_meta(this);" onblur="updateInputBlur(this)" onkeydown="return checkeyCode(event,this)" />
633
<span class="meta-update"></span>
634
<?php if(trim($type) != '' && trim($type) != $value): ?>
635
<a class="button meta-default" href="#" data-default-value="<?php echo esc_attr($type) ?>" title="Add to input box" onclick="add_meta_default(this)"> <?php echo '<img src= "' . WPMETASEO_PLUGIN_URL . 'img/img-arrow.png" />' ?> Copy </a>
654
655
private static function display_resize_image_list($img_post_id,$posts, $img_counter, $p, $im){
656
657
+ $header = sprintf(__('We found %s which needed to optimize', 'wpms'), $img_counter . $im . $p);
658
?>
659
<h3 class="content-header"><?php echo $header ?></h3>
660
<div class="content-box">
695
<?php endforeach ?>
696
</td>
697
<td colspan="2" class="metaseo-action">
698
+ <a href="javascript:void(0);" class="metaseo-optimize button" data-img-post-id="<?php echo $img_post_id ?>" data-post-id="<?php echo $post['ID'] ?>" onclick="optimize_imgs(this)"><?php echo __('Replace?', 'wpms') ?></a>
699
<span class="optimizing spinner"></span>
700
</td>
701
<td colspan="4">
749
else{
750
$ret = array(
751
'success' => false,
752
+ 'msg' => __('The post is not existed, please choose one another!', 'wpms')
753
);
754
}
755
997
998
if(wp_update_post($data)){
999
$response->updated = true;
1000
+ $response->msg = __($label . ' was saved', 'wpms');
1001
}
1002
}
1003
else{
1004
update_post_meta($post_id, $aliases[$meta_type], $meta_value);
1005
$response->updated = true;
1006
+ $response->msg = __($label . ' was saved', 'wpms');
1007
}
1008
1009
}
1010
else{
1011
+ $response->msg = __('There is a problem when update image meta!', 'wpms');
1012
}
1013
1014
echo json_encode($response);
1025
$linkold = $img_meta['file'];
1026
$response = new stdClass();
1027
$response->updated = FALSE;
1028
+ $response->msg = __('There is a problem when update image name', 'wpms');
1029
1030
$upload_dirs = wp_upload_dir();
1031
$upload_dir = $upload_dirs['basedir'];
1127
update_post_meta($postID, '_wp_attachment_metadata', $attached_metadata);
1128
1129
$response->updated = true;
1130
+ $response->msg = __('Image name was changed', 'wpms');
1131
} else {
1132
$response->iname = $old_name;
1133
+ $response->msg = __('There is a problem when update image name', 'wpms');
1134
}
1135
}
1136
} else {
1137
1138
+ $response->msg = __('Name is existing', 'wpms');
1139
$response->iname = $old_name;
1140
}
1141
} else {
1142
$response->iname = $old_name;
1143
+ $response->msg = __('File is not existed', 'wpms');
1144
}
1145
} else {
1146
$response->iname = $old_name;
1147
+ $response->msg = __('Should not be empty', 'wpms');
1148
}
1149
echo json_encode($response);
1150
wp_die();
1156
$response->updated = false;
1157
foreach($_post as $k => $v){
1158
if(!$v && !in_array($k, array('meta_value', 'meta_order'))){
1159
+ $response->msg = __('There is a problem when update image meta!', 'wpms') ;
1160
1161
echo json_encode($response);
1162
wp_die();
1179
//Then we must update this meta info in the appropriate post content
1180
if(!$post = get_post($post_id))
1181
{
1182
+ $response->msg = __('The post has been deleted before, please check again!', 'wpms');
1183
}
1184
else{
1185
if($post->post_content !== ''){
1214
1215
//Update content of this post.
1216
if(!wp_update_post(array('ID' => $post->ID, 'post_content' => $post_content))){
1217
+ $response->msg = __('The post haven\'t been updated, please check again!', 'wpms');
1218
}
1219
else{
1220
$response->updated = true;
1221
+ $response->msg = __(ucfirst($meta_type) . ' was saved','wpms') ;
1222
}
1223
}
1224
else{
1225
+ $response->msg = __('This image has been removed from the post, please check again!', 'wpms');
1226
}
1227
}
1228
else{
1229
+ $response->msg = __('Content of the post is empty, please check again', 'wpms!');
1230
}
1231
}
1232
inc/class.metaseo-metabox.php CHANGED
@@ -54,34 +54,34 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
54
}
55
56
public static function translate_meta_boxes() {
57
- self::$meta_fields['general']['snippetpreview']['title'] = __('Results preview', 'wp-meta-seo');
58
- self::$meta_fields['general']['snippetpreview']['help'] = sprintf(__('This is a preview of what your content will looks like in search engine results: title, description and URL', 'wp-meta-seo'), '<a target="_blank" href="https://www.joomunited.com/wordpress-products/wp-meta-seo">', '</a>');
59
60
- self::$meta_fields['general']['title']['title'] = __('Search engine title', 'wp-meta-seo');
61
self::$meta_fields['general']['title']['description'] = sprintf(__('<span id="metaseo_wpmseo_title-length">%s</span>'),self::$meta_length_reason);
62
- self::$meta_fields['general']['title']['help'] = __('This is the title of your content that may be displayed in search engine results (meta title). By default it’s the content title (page title, post title…). 69 characters max allowed.', 'wp-meta-seo');
63
64
- self::$meta_fields['general']['desc']['title'] = __('Search engine description', 'wp-meta-seo');
65
self::$meta_fields['general']['desc']['description'] = sprintf(__('<span id="metaseo_wpmseo_desc-length">%s</span>'),self::$meta_length_reason);
66
- self::$meta_fields['general']['desc']['help'] = sprintf(__('The description of your content that may be displayed in search engine results aka meta description. By default search engine take an excerpt from your content (depending on the search query). 156 characters max allowed.', 'wp-meta-seo'), '<a target="_blank" href="https://www.joomunited.com/wordpress-products/wp-meta-seo">', '</a>');
67
68
- self::$meta_fields['social']['opengraph-title']['title'] = __('Facebook Title','wp-meta-seo');
69
- self::$meta_fields['social']['opengraph-title']['description'] = __('Custom title to display when sharing this content on facebook, content title override','wp-meta-seo');
70
71
- self::$meta_fields['social']['opengraph-desc']['title'] = __('Facebook Description','wp-meta-seo');
72
- self::$meta_fields['social']['opengraph-desc']['description'] = __('Custom description to display when sharing this content on facebook, content description override','wp-meta-seo');
73
74
- self::$meta_fields['social']['opengraph-image']['title'] = __('Facebook Image','wp-meta-seo');
75
- self::$meta_fields['social']['opengraph-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended size is 1200px x 630px','wp-meta-seo');
76
77
- self::$meta_fields['social']['twitter-title']['title'] = __('Twitter Title','wp-meta-seo');
78
- self::$meta_fields['social']['twitter-title']['description'] = __('Custom title to display when sharing this content on twitter, content title override','wp-meta-seo');
79
80
- self::$meta_fields['social']['twitter-desc']['title'] = __('Twitter Description','wp-meta-seo');
81
- self::$meta_fields['social']['twitter-desc']['description'] = __('Custom description to display when sharing this content on twitter, content description override','wp-meta-seo');
82
83
- self::$meta_fields['social']['twitter-image']['title'] = __('Twitter Image','wp-meta-seo');
84
- self::$meta_fields['social']['twitter-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended min size 440px X 220px','wp-meta-seo');
85
86
do_action('wpmseo_tab_translate');
87
}
@@ -120,7 +120,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
120
121
public function metaseo_localize_media_script() {
122
return array(
123
- 'choose_image' => __( 'Use Image', 'wp-meta-seo' ),
124
);
125
}
126
@@ -138,7 +138,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
138
$date = $this->get_post_date($post);
139
140
self::$meta_length = ( self::$meta_length - ( strlen($date) + 5 ) );
141
- self::$meta_length_reason = __(' (because of date display)', 'wp-meta-seo');
142
}
143
144
self::$meta_length_reason = apply_filters('wpmseo_desc_length_reason', self::$meta_length_reason, $post);
@@ -186,7 +186,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
186
187
return array_merge($cached_replacement_vars, array(
188
'field_prefix' => self::$form_prefix,
189
- 'choose_image' => __('Use Image', 'wp-meta-seo'),
190
'wpmseo_meta_desc_length' => self::$meta_length,
191
'wpmseo_meta_title_length' => self::$meta_title_length,
192
'wpmseo_title_template' => $title_template,
@@ -194,7 +194,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
194
'wpmseo_permalink_template' => $sample_permalink,
195
'wpmseo_keyword_suggest_nonce' => wp_create_nonce('wpmseo-get-suggest'),
196
'wpmseo_replace_vars_nonce' => wp_create_nonce('wpmseo-replace-vars'),
197
- 'no_parent_text' => __('(no parent)', 'wp-meta-seo'),
198
));
199
}
200
@@ -238,10 +238,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
238
<div class="wpmseo-metabox-tabs-div">
239
<ul class="wpmseo-metabox-tabs" id="wpmseo-metabox-tabs">
240
<li class="general">
241
- <a class="wpmseo_tablink" data-link="wpmseo_general"><?php _e('SEO Page optimization', 'wp-meta-seo'); ?></a>
242
</li>
243
<li class="social">
244
- <a class="wpmseo_tablink" data-link="wpmseo_social"><?php _e( 'Social for search engine', 'wordpress-seo' ) ?></a>
245
</li>
246
<?php do_action('wpmseo_tab_header'); ?>
247
</ul>
@@ -253,14 +253,14 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
253
}
254
unset($key, $meta_field);
255
}
256
- $this->do_tab('general', __('General', 'wp-meta-seo'), $content);
257
258
$content = '';
259
foreach ( $this->get_meta_field_defs( 'social' ) as $meta_key => $meta_field ) {
260
$content .= $this->do_meta_box( $meta_field, $meta_key );
261
}
262
263
- $this->do_tab( 'social', __( 'Social', 'wordpress-seo' ), $content );
264
do_action('wpmseo_tab_content');
265
266
echo '</div>';
@@ -275,7 +275,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
275
$test = false;
276
if(is_array($words_meta_title) && is_array($words_post_title)){
277
foreach ($words_meta_title as $mtitle){
278
- if(in_array($mtitle, $words_post_title)){
279
$test = true;
280
}
281
}
@@ -284,14 +284,14 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
284
}
285
286
if($test){
287
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wp-meta-seo').'</div>';
288
$this->perc_score++;
289
}else{
290
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','wp-meta-seo').'</div>';
291
}
292
293
}else{
294
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wp-meta-seo').'</div>';
295
$this->perc_score++;
296
}
297
return $output;
@@ -300,11 +300,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
300
function metaseo_check_content($post){
301
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title));
302
$words_post_content = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_content));
303
-
304
$test1 = false;
305
if(is_array($words_meta_title) && is_array($words_post_content)){
306
foreach ($words_meta_title as $mtitle){
307
- if(in_array($mtitle, $words_post_content)){
308
$test1 = true;
309
}
310
}
@@ -313,10 +312,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
313
}
314
315
if($test1){
316
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','wp-meta-seo').'</div>';
317
$this->perc_score++;
318
}else{
319
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','wp-meta-seo').'</div>';
320
}
321
322
return $output;
@@ -327,10 +326,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
327
$info = pathinfo($pageurl);
328
329
if($info['filename'] == sanitize_title($post->post_title)){
330
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','wp-meta-seo').'</div>';
331
$this->perc_score++;
332
}else{
333
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','wp-meta-seo').'</div>';
334
}
335
336
return $output;
@@ -338,27 +337,27 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
338
339
function metaseo_check_metatitle($meta_title){
340
if($meta_title != '' && strlen($meta_title) <= self::$meta_title_length){
341
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','wp-meta-seo').'</div>';
342
$this->perc_score++;
343
}else{
344
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','wp-meta-seo').'</div>';
345
}
346
return $output;
347
}
348
349
function metaseo_check_metadesc($meta_desc){
350
if($meta_desc != '' && strlen($meta_desc) <= self::$meta_length){
351
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','wp-meta-seo').'</div>';
352
$this->perc_score++;
353
}else{
354
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','wp-meta-seo').'</div>';
355
}
356
return $output;
357
}
358
359
function metaseo_check_imageresize($content){
360
if($content == '') {
361
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
362
$this->perc_score++;
363
return $output;
364
}
@@ -381,21 +380,21 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
381
}
382
383
if($img_wrong){
384
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
385
}else{
386
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
387
$this->perc_score++;
388
}
389
390
}else{
391
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wp-meta-seo').'</div>';
392
}
393
return $output;
394
}
395
396
function metaseo_check_imagealt($content){
397
if($content == '') {
398
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wp-meta-seo').'</div>';
399
$this->perc_score++;
400
return $output;
401
}
@@ -413,14 +412,14 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
413
}
414
415
if($img_wrong){
416
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wp-meta-seo').'</div>';
417
}else{
418
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wp-meta-seo').'</div>';
419
$this->perc_score++;
420
}
421
422
}else{
423
- $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wp-meta-seo').'</div>';
424
}
425
return $output;
426
}
@@ -467,7 +466,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
467
global $post;
468
?>
469
<div class="wpmseotab <?php echo esc_attr($id) ?>">
470
- <p class="reload_analysis"><span class="spinner" style="float: left;"></span><input type="button" name="reload_analysis" id="reload_analysis" class="button button-primary" value="<?php _e('Reload analysis','wp-meta-seo'); ?>"></p>
471
<table class="form-table">
472
<?php echo $content ?>
473
</table>
54
}
55
56
public static function translate_meta_boxes() {
57
+ self::$meta_fields['general']['snippetpreview']['title'] = __('Results preview', 'wpms');
58
+ self::$meta_fields['general']['snippetpreview']['help'] = sprintf(__('This is a preview of what your content will looks like in search engine results: title, description and URL', 'wpms'), '<a target="_blank" href="https://www.joomunited.com/wordpress-products/wpms">', '</a>');
59
60
+ self::$meta_fields['general']['title']['title'] = __('Search engine title', 'wpms');
61
self::$meta_fields['general']['title']['description'] = sprintf(__('<span id="metaseo_wpmseo_title-length">%s</span>'),self::$meta_length_reason);
62
+ self::$meta_fields['general']['title']['help'] = __('This is the title of your content that may be displayed in search engine results (meta title). By default it’s the content title (page title, post title…). 69 characters max allowed.', 'wpms');
63
64
+ self::$meta_fields['general']['desc']['title'] = __('Search engine description', 'wpms');
65
self::$meta_fields['general']['desc']['description'] = sprintf(__('<span id="metaseo_wpmseo_desc-length">%s</span>'),self::$meta_length_reason);
66
+ self::$meta_fields['general']['desc']['help'] = __('The description of your content that may be displayed in search engine results aka meta description. By default search engine take an excerpt from your content (depending on the search query). 156 characters max allowed.', 'wpms');
67
68
+ self::$meta_fields['social']['opengraph-title']['title'] = __('Facebook Title','wpms');
69
+ self::$meta_fields['social']['opengraph-title']['description'] = __('Custom title to display when sharing this content on facebook, content title override','wpms');
70
71
+ self::$meta_fields['social']['opengraph-desc']['title'] = __('Facebook Description','wpms');
72
+ self::$meta_fields['social']['opengraph-desc']['description'] = __('Custom description to display when sharing this content on facebook, content description override','wpms');
73
74
+ self::$meta_fields['social']['opengraph-image']['title'] = __('Facebook Image','wpms');
75
+ self::$meta_fields['social']['opengraph-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended size is 1200px x 630px','wpms');
76
77
+ self::$meta_fields['social']['twitter-title']['title'] = __('Twitter Title','wpms');
78
+ self::$meta_fields['social']['twitter-title']['description'] = __('Custom title to display when sharing this content on twitter, content title override','wpms');
79
80
+ self::$meta_fields['social']['twitter-desc']['title'] = __('Twitter Description','wpms');
81
+ self::$meta_fields['social']['twitter-desc']['description'] = __('Custom description to display when sharing this content on twitter, content description override','wpms');
82
83
+ self::$meta_fields['social']['twitter-image']['title'] = __('Twitter Image','wpms');
84
+ self::$meta_fields['social']['twitter-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended min size 440px X 220px','wpms');
85
86
do_action('wpmseo_tab_translate');
87
}
120
121
public function metaseo_localize_media_script() {
122
return array(
123
+ 'choose_image' => __( 'Use Image', 'wpms' ),
124
);
125
}
126
138
$date = $this->get_post_date($post);
139
140
self::$meta_length = ( self::$meta_length - ( strlen($date) + 5 ) );
141
+ self::$meta_length_reason = __(' (because of date display)', 'wpms');
142
}
143
144
self::$meta_length_reason = apply_filters('wpmseo_desc_length_reason', self::$meta_length_reason, $post);
186
187
return array_merge($cached_replacement_vars, array(
188
'field_prefix' => self::$form_prefix,
189
+ 'choose_image' => __('Use Image', 'wpms'),
190
'wpmseo_meta_desc_length' => self::$meta_length,
191
'wpmseo_meta_title_length' => self::$meta_title_length,
192
'wpmseo_title_template' => $title_template,
194
'wpmseo_permalink_template' => $sample_permalink,
195
'wpmseo_keyword_suggest_nonce' => wp_create_nonce('wpmseo-get-suggest'),
196
'wpmseo_replace_vars_nonce' => wp_create_nonce('wpmseo-replace-vars'),
197
+ 'no_parent_text' => __('(no parent)', 'wpms'),
198
));
199
}
200
238
<div class="wpmseo-metabox-tabs-div">
239
<ul class="wpmseo-metabox-tabs" id="wpmseo-metabox-tabs">
240
<li class="general">
241
+ <a class="wpmseo_tablink" data-link="wpmseo_general"><?php _e('SEO Page optimization', 'wpms'); ?></a>
242
</li>
243
<li class="social">
244
+ <a class="wpmseo_tablink" data-link="wpmseo_social"><?php _e( 'Social for search engine', 'wp-meta-seo' ) ?></a>
245
</li>
246
<?php do_action('wpmseo_tab_header'); ?>
247
</ul>
253
}
254
unset($key, $meta_field);
255
}
256
+ $this->do_tab('general', __('General', 'wpms'), $content);
257
258
$content = '';
259
foreach ( $this->get_meta_field_defs( 'social' ) as $meta_key => $meta_field ) {
260
$content .= $this->do_meta_box( $meta_field, $meta_key );
261
}
262
263
+ $this->do_tab( 'social', __( 'Social', 'wp-meta-seo' ), $content );
264
do_action('wpmseo_tab_content');
265
266
echo '</div>';
275
$test = false;
276
if(is_array($words_meta_title) && is_array($words_post_title)){
277
foreach ($words_meta_title as $mtitle){
278
+ if(in_array($mtitle, $words_post_title) && $mtitle!=''){
279
$test = true;
280
}
281
}
284
}
285
286
if($test){
287
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
288
$this->perc_score++;
289
}else{
290
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','wpms').'</div>';
291
}
292
293
}else{
294
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
295
$this->perc_score++;
296
}
297
return $output;
300
function metaseo_check_content($post){
301
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title));
302
$words_post_content = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_content));
303
$test1 = false;
304
if(is_array($words_meta_title) && is_array($words_post_content)){
305
foreach ($words_meta_title as $mtitle){
306
+ if(in_array($mtitle, $words_post_content) && $mtitle!=''){
307
$test1 = true;
308
}
309
}
312
}
313
314
if($test1){
315
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','wpms').'</div>';
316
$this->perc_score++;
317
}else{
318
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','wpms').'</div>';
319
}
320
321
return $output;
326
$info = pathinfo($pageurl);
327
328
if($info['filename'] == sanitize_title($post->post_title)){
329
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','wpms').'</div>';
330
$this->perc_score++;
331
}else{
332
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','wpms').'</div>';
333
}
334
335
return $output;
337
338
function metaseo_check_metatitle($meta_title){
339
if($meta_title != '' && strlen($meta_title) <= self::$meta_title_length){
340
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','wpms').'</div>';
341
$this->perc_score++;
342
}else{
343
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','wpms').'</div>';
344
}
345
return $output;
346
}
347
348
function metaseo_check_metadesc($meta_desc){
349
if($meta_desc != '' && strlen($meta_desc) <= self::$meta_length){
350
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','wpms').'</div>';
351
$this->perc_score++;
352
}else{
353
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','wpms').'</div>';
354
}
355
return $output;
356
}
357
358
function metaseo_check_imageresize($content){
359
if($content == '') {
360
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
361
$this->perc_score++;
362
return $output;
363
}
380
}
381
382
if($img_wrong){
383
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
384
}else{
385
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
386
$this->perc_score++;
387
}
388
389
}else{
390
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
391
}
392
return $output;
393
}
394
395
function metaseo_check_imagealt($content){
396
if($content == '') {
397
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
398
$this->perc_score++;
399
return $output;
400
}
412
}
413
414
if($img_wrong){
415
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wpms').'</div>';
416
}else{
417
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
418
$this->perc_score++;
419
}
420
421
}else{
422
+ $output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wpms').'</div>';
423
}
424
return $output;
425
}
466
global $post;
467
?>
468
<div class="wpmseotab <?php echo esc_attr($id) ?>">
469
+ <p class="reload_analysis"><span class="spinner" style="float: left;"></span><input type="button" name="reload_analysis" id="reload_analysis" class="button button-primary" value="<?php _e('Reload analysis','wpms'); ?>"></p>
470
<table class="form-table">
471
<?php echo $content ?>
472
</table>
inc/pages/content-meta.php CHANGED
@@ -21,7 +21,7 @@ if (!empty($_REQUEST['_wp_http_referer'])) {
21
<div class="wrap seo_extended_table_page">
22
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
23
24
- <?php echo '<h2>' . __('Content Meta', 'wp-meta-seo') . '</h2>'; ?>
25
26
<form id="wp-seo-meta-form" action="" method="post">
27
<?php $metaseo_list_table->display(); ?>
21
<div class="wrap seo_extended_table_page">
22
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
23
24
+ <?php echo '<h2>' . __('Content Meta', 'wpms') . '</h2>'; ?>
25
26
<form id="wp-seo-meta-form" action="" method="post">
27
<?php $metaseo_list_table->display(); ?>
inc/pages/dashboard.php CHANGED
@@ -9,13 +9,13 @@ $url = 'http://www.alexa.com/siteinfo/' . $site_name;
9
$dashboard = new MetaSeo_Dashboard();
10
11
?>
12
- <h1><?php echo __('DASH BOARD', 'wp-meta-seo') ?></h1>
13
<div class="dashboard">
14
<div class="left">
15
<div class="dashboard-left" id='dashboard-left'>
16
<header>
17
<p>
18
- <div class="title-seo"><?php echo __('Image Meta :', 'wp-meta-seo'); ?> <span id="imgs_metas_statis"></span></div>
19
<div class="noload" id="imgs_metas_statis_noload">
20
<span class="loadtext" id="imgs_metas_statis_value"></span>
21
<div class="load" id="imgs_metas_statis_load">
@@ -23,7 +23,7 @@ $dashboard = new MetaSeo_Dashboard();
23
</div>
24
</p>
25
<p>
26
- <div class="title-seo"><?php echo __('Content Meta :', 'wp-meta-seo'); ?> <span id="metacontent"></span></div>
27
<div class="noload" id="imgs_metas_statis_noload">
28
<span class="loadtext" id="metacontent_value"></span>
29
<div class="load" id="metacontent_load">
@@ -31,7 +31,7 @@ $dashboard = new MetaSeo_Dashboard();
31
</div>
32
</p>
33
<p>
34
- <div class="title-seo"><?php echo __('Image optimization :', 'wp-meta-seo'); ?> <span id="imgs_statis"></span></div>
35
<div class="noload" id="imgs_metas_statis_noload">
36
<span class="loadtext" id="imgs_statis_value"></span>
37
<div class="load" id="imgs_statis_load">
@@ -41,7 +41,7 @@ $dashboard = new MetaSeo_Dashboard();
41
</header>
42
<div id="canvas-holder">
43
<div id="chart-container">
44
- <h2><?php echo __('Total', 'wp-meta-seo'); ?></h2>
45
<div style="width: 300px; margin: 0px auto; position: relative;">
46
<div id="avera">
47
</div>
@@ -60,7 +60,7 @@ $dashboard = new MetaSeo_Dashboard();
60
61
<div style="clear:left"></div>
62
<div id="wpmetaseo-update-version">
63
- <h4><?php echo __('Latest WP Meta SEO News', 'wp-meta-seo') ?></h4>
64
<ul>
65
<li>&ndash;&nbsp<?php echo __('Version 1.0') ?></li>
66
<li>&ndash;&nbsp<?php echo __('Version Beta') ?></li>
9
$dashboard = new MetaSeo_Dashboard();
10
11
?>
12
+ <h1><?php echo __('DASH BOARD', 'wpms') ?></h1>
13
<div class="dashboard">
14
<div class="left">
15
<div class="dashboard-left" id='dashboard-left'>
16
<header>
17
<p>
18
+ <div class="title-seo"><?php echo __('Image Meta :', 'wpms'); ?> <span id="imgs_metas_statis"></span></div>
19
<div class="noload" id="imgs_metas_statis_noload">
20
<span class="loadtext" id="imgs_metas_statis_value"></span>
21
<div class="load" id="imgs_metas_statis_load">
23
</div>
24
</p>
25
<p>
26
+ <div class="title-seo"><?php echo __('Content Meta :', 'wpms'); ?> <span id="metacontent"></span></div>
27
<div class="noload" id="imgs_metas_statis_noload">
28
<span class="loadtext" id="metacontent_value"></span>
29
<div class="load" id="metacontent_load">
31
</div>
32
</p>
33
<p>
34
+ <div class="title-seo"><?php echo __('Image optimization :', 'wpms'); ?> <span id="imgs_statis"></span></div>
35
<div class="noload" id="imgs_metas_statis_noload">
36
<span class="loadtext" id="imgs_statis_value"></span>
37
<div class="load" id="imgs_statis_load">
41
</header>
42
<div id="canvas-holder">
43
<div id="chart-container">
44
+ <h2><?php echo __('Total', 'wpms'); ?></h2>
45
<div style="width: 300px; margin: 0px auto; position: relative;">
46
<div id="avera">
47
</div>
60
61
<div style="clear:left"></div>
62
<div id="wpmetaseo-update-version">
63
+ <h4><?php echo __('Latest WP Meta SEO News', 'wpms') ?></h4>
64
<ul>
65
<li>&ndash;&nbsp<?php echo __('Version 1.0') ?></li>
66
<li>&ndash;&nbsp<?php echo __('Version Beta') ?></li>
inc/pages/image-meta.php CHANGED
@@ -20,7 +20,7 @@ if (!empty($_REQUEST['_wp_http_referer'])) {
20
<div class="wrap seo_extended_table_page">
21
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
22
23
- <?php echo '<h2>' . __('Image Meta', 'wp-meta-seo') . '</h2>'; ?>
24
25
<form id="wp-seo-meta-form" action="" method="post">
26
@@ -34,5 +34,7 @@ if (!empty($_REQUEST['_wp_http_referer'])) {
34
jQuery(document).ready(function(){
35
//Scan all posts to find a group of images in their content
36
metaSeoScanImages();
37
});
38
</script>
20
<div class="wrap seo_extended_table_page">
21
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
22
23
+ <?php echo '<h2>' . __('Image Meta', 'wpms') . '</h2>'; ?>
24
25
<form id="wp-seo-meta-form" action="" method="post">
26
34
jQuery(document).ready(function(){
35
//Scan all posts to find a group of images in their content
36
metaSeoScanImages();
37
+ autosize(document.querySelectorAll('.metaseo-img-meta'));
38
});
39
+
40
</script>
inc/pages/settings.php CHANGED
@@ -1,4 +1,4 @@
1
- <h2 id="wpio_settings"><?php _e('Wp Meta SEO Settings','wp-meta-seo') ?></h2>
2
<form method="post" action="options.php">
3
<?php
4
settings_fields( 'Wp Meta SEO' );
1
+ <h2 id="wpio_settings"><?php _e('Wp Meta SEO Settings','wpms') ?></h2>
2
<form method="post" action="options.php">
3
<?php
4
settings_fields( 'Wp Meta SEO' );
js/autosize.js ADDED
@@ -0,0 +1,245 @@
1
+ /*!
2
+ Autosize 3.0.13
3
+ license: MIT
4
+ http://www.jacklmoore.com/autosize
5
+ */
6
+ (function (global, factory) {
7
+ if (typeof define === 'function' && define.amd) {
8
+ define(['exports', 'module'], factory);
9
+ } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
10
+ factory(exports, module);
11
+ } else {
12
+ var mod = {
13
+ exports: {}
14
+ };
15
+ factory(mod.exports, mod);
16
+ global.autosize = mod.exports;
17
+ }
18
+ })(this, function (exports, module) {
19
+ 'use strict';
20
+
21
+ var set = typeof Set === 'function' ? new Set() : (function () {
22
+ var list = [];
23
+
24
+ return {
25
+ has: function has(key) {
26
+ return Boolean(list.indexOf(key) > -1);
27
+ },
28
+ add: function add(key) {
29
+ list.push(key);
30
+ },
31
+ 'delete': function _delete(key) {
32
+ list.splice(list.indexOf(key), 1);
33
+ }};
34
+ })();
35
+
36
+ function assign(ta) {
37
+ var _ref = arguments[1] === undefined ? {} : arguments[1];
38
+
39
+ var _ref$setOverflowX = _ref.setOverflowX;
40
+ var setOverflowX = _ref$setOverflowX === undefined ? true : _ref$setOverflowX;
41
+ var _ref$setOverflowY = _ref.setOverflowY;
42
+ var setOverflowY = _ref$setOverflowY === undefined ? true : _ref$setOverflowY;
43
+
44
+ if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || set.has(ta))
45
+ return;
46
+
47
+ var heightOffset = null;
48
+ var overflowY = null;
49
+ var clientWidth = ta.clientWidth;
50
+
51
+ function init() {
52
+ var style = window.getComputedStyle(ta, null);
53
+
54
+ overflowY = style.overflowY;
55
+
56
+ if (style.resize === 'vertical') {
57
+ ta.style.resize = 'none';
58
+ } else if (style.resize === 'both') {
59
+ ta.style.resize = 'horizontal';
60
+ }
61
+
62
+ if (style.boxSizing === 'content-box') {
63
+ heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
64
+ } else {
65
+ heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
66
+ }
67
+ // Fix when a textarea is not on document body and heightOffset is Not a Number
68
+ if (isNaN(heightOffset)) {
69
+ heightOffset = 0;
70
+ }
71
+
72
+ update();
73
+ }
74
+
75
+ function changeOverflow(value) {
76
+ {
77
+ // Chrome/Safari-specific fix:
78
+ // When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
79
+ // made available by removing the scrollbar. The following forces the necessary text reflow.
80
+ var width = ta.style.width;
81
+ ta.style.width = '0px';
82
+ // Force reflow:
83
+ /* jshint ignore:start */
84
+ ta.offsetWidth;
85
+ /* jshint ignore:end */
86
+ ta.style.width = width;
87
+ }
88
+
89
+ overflowY = value;
90
+
91
+ if (setOverflowY) {
92
+ ta.style.overflowY = value;
93
+ }
94
+
95
+ resize();
96
+ }
97
+
98
+ function resize() {
99
+ var htmlTop = window.pageYOffset;
100
+ var bodyTop = document.body.scrollTop;
101
+ var originalHeight = ta.style.height;
102
+
103
+ ta.style.height = 'auto';
104
+
105
+ var endHeight = ta.scrollHeight + heightOffset;
106
+
107
+ if (ta.scrollHeight === 0) {
108
+ // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
109
+ ta.style.height = originalHeight;
110
+ return;
111
+ }
112
+
113
+ ta.style.height = endHeight + 'px';
114
+
115
+ // used to check if an update is actually necessary on window.resize
116
+ clientWidth = ta.clientWidth;
117
+
118
+ // prevents scroll-position jumping
119
+ document.documentElement.scrollTop = htmlTop;
120
+ document.body.scrollTop = bodyTop;
121
+ }
122
+
123
+ function update() {
124
+ var startHeight = ta.style.height;
125
+
126
+ resize();
127
+
128
+ var style = window.getComputedStyle(ta, null);
129
+
130
+ if (style.height !== ta.style.height) {
131
+ if (overflowY !== 'visible') {
132
+ changeOverflow('visible');
133
+ }
134
+ } else {
135
+ if (overflowY !== 'hidden') {
136
+ changeOverflow('hidden');
137
+ }
138
+ }
139
+
140
+ if (startHeight !== ta.style.height) {
141
+ var evt = document.createEvent('Event');
142
+ evt.initEvent('autosize:resized', true, false);
143
+ ta.dispatchEvent(evt);
144
+ }
145
+ }
146
+
147
+ var pageResize = function pageResize() {
148
+ if (ta.clientWidth !== clientWidth) {
149
+ update();
150
+ }
151
+ };
152
+
153
+ var destroy = (function (style) {
154
+ window.removeEventListener('resize', pageResize);
155
+ ta.removeEventListener('input', update);
156
+ ta.removeEventListener('keyup', update);
157
+ ta.removeEventListener('autosize:destroy', destroy);
158
+ set['delete'](ta);
159
+
160
+ Object.keys(style).forEach(function (key) {
161
+ ta.style[key] = style[key];
162
+ });
163
+ }).bind(ta, {
164
+ height: ta.style.height,
165
+ resize: ta.style.resize,
166
+ overflowY: ta.style.overflowY,
167
+ overflowX: ta.style.overflowX,
168
+ wordWrap: ta.style.wordWrap});
169
+
170
+ ta.addEventListener('autosize:destroy', destroy);
171
+
172
+ // IE9 does not fire onpropertychange or oninput for deletions,
173
+ // so binding to onkeyup to catch most of those events.
174
+ // There is no way that I know of to detect something like 'cut' in IE9.
175
+ if ('onpropertychange' in ta && 'oninput' in ta) {
176
+ ta.addEventListener('keyup', update);
177
+ }
178
+
179
+ window.addEventListener('resize', pageResize);
180
+ ta.addEventListener('input', update);
181
+ ta.addEventListener('autosize:update', update);
182
+ set.add(ta);
183
+
184
+ if (setOverflowX) {
185
+ ta.style.overflowX = 'hidden';
186
+ ta.style.wordWrap = 'break-word';
187
+ }
188
+
189
+ init();
190
+ }
191
+
192
+ function destroy(ta) {
193
+ if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA'))
194
+ return;
195
+ var evt = document.createEvent('Event');
196
+ evt.initEvent('autosize:destroy', true, false);
197
+ ta.dispatchEvent(evt);
198
+ }
199
+
200
+ function update(ta) {
201
+ if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA'))
202
+ return;
203
+ var evt = document.createEvent('Event');
204
+ evt.initEvent('autosize:update', true, false);
205
+ ta.dispatchEvent(evt);
206
+ }
207
+
208
+ var autosize = null;
209
+
210
+ // Do nothing in Node.js environment and IE8 (or lower)
211
+ if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
212
+ autosize = function (el) {
213
+ return el;
214
+ };
215
+ autosize.destroy = function (el) {
216
+ return el;
217
+ };
218
+ autosize.update = function (el) {
219
+ return el;
220
+ };
221
+ } else {
222
+ autosize = function (el, options) {
223
+ if (el) {
224
+ Array.prototype.forEach.call(el.length ? el : [el], function (x) {
225
+ return assign(x, options);
226
+ });
227
+ }
228
+ return el;
229
+ };
230
+ autosize.destroy = function (el) {
231
+ if (el) {
232
+ Array.prototype.forEach.call(el.length ? el : [el], destroy);
233
+ }
234
+ return el;
235
+ };
236
+ autosize.update = function (el) {
237
+ if (el) {
238
+ Array.prototype.forEach.call(el.length ? el : [el], update);
239
+ }
240
+ return el;
241
+ };
242
+ }
243
+
244
+ module.exports = autosize;
245
+ });
languages/wpms-en_GB.mo ADDED
Binary file
languages/wpms-en_GB.po ADDED
@@ -0,0 +1,386 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: \n"
4
+ "POT-Creation-Date: \n"
5
+ "PO-Revision-Date: \n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: en_GB\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.5\n"
13
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
+
15
+ msgid "Twitter username (without @)"
16
+ msgstr "Twitter username (without @)"
17
+
18
+ msgid "Facebook profile URL"
19
+ msgstr "Facebook profile URL"
20
+
21
+ msgid ""
22
+ "2 plugins that are doing almost the same thing detected: disable AIO SEO or "
23
+ "Yoast SEO to avoid conflict."
24
+ msgstr ""
25
+ "2 plugins that are doing almost the same thing detected: disable AIO SEO or "
26
+ "Yoast SEO to avoid conflict."
27
+
28
+ msgid ""
29
+ "We have found that you’re using All In One SEO plugin, WP Meta SEO can "
30
+ "import the meta from this plugin, %s"
31
+ msgstr ""
32
+ "We have found that you’re using All In One SEO plugin, WP Meta SEO can "
33
+ "import the meta from this plugin, %s"
34
+
35
+ msgid ""
36
+ "We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
37
+ "meta from this plugin, %s"
38
+ msgstr ""
39
+ "We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
40
+ "meta from this plugin, %s"
41
+
42
+ msgid "Results preview"
43
+ msgstr "Results preview"
44
+
45
+ msgid ""
46
+ "This is a preview of what your content will looks like in search engine "
47
+ "results: title, description and URL"
48
+ msgstr ""
49
+ "This is a preview of what your content will looks like in search engine "
50
+ "results: title, description and URL"
51
+
52
+ msgid "Search engine title"
53
+ msgstr "Search engine title"
54
+
55
+ msgid ""
56
+ "This is the title of your content that may be displayed in search engine "
57
+ "results (meta title). By default it’s the content title (page title, post "
58
+ "title…). 69 characters max allowed."
59
+ msgstr ""
60
+ "This is the title of your content that may be displayed in search engine "
61
+ "results (meta title). By default it’s the content title (page title, post "
62
+ "title…). 69 characters max allowed."
63
+
64
+ msgid "Search engine description"
65
+ msgstr "Search engine description"
66
+
67
+ msgid ""
68
+ "The description of your content that may be displayed in search engine "
69
+ "results aka meta description. By default search engine take an excerpt from "
70
+ "your content (depending on the search query). 156 characters max allowed."
71
+ msgstr ""
72
+ "The description of your content that may be displayed in search engine "
73
+ "results aka meta description. By default search engine take an excerpt from "
74
+ "your content (depending on the search query). 156 characters max allowed."
75
+
76
+ msgid "Facebook Title"
77
+ msgstr "Facebook Title"
78
+
79
+ msgid ""
80
+ "Custom title to display when sharing this content on facebook, content title "
81
+ "override"
82
+ msgstr ""
83
+ "Custom title to display when sharing this content on facebook, content title "
84
+ "override"
85
+
86
+ msgid "Facebook Description"
87
+ msgstr "Facebook Description"
88
+
89
+ msgid ""
90
+ "Custom description to display when sharing this content on facebook, content "
91
+ "description override"
92
+ msgstr ""
93
+ "Custom description to display when sharing this content on facebook, content "
94
+ "description override"
95
+
96
+ msgid "Facebook Image"
97
+ msgstr "Facebook Image"
98
+
99
+ msgid ""
100
+ "Custom image to display when sharing this content on facebook, content "
101
+ "description override, recommended size is 1200px x 630px"
102
+ msgstr ""
103
+ "Custom image to display when sharing this content on facebook, content "
104
+ "description override, recommended size is 1200px x 630px"
105
+
106
+ msgid "Twitter Title"
107
+ msgstr "Twitter Title"
108
+
109
+ msgid ""
110
+ "Custom title to display when sharing this content on twitter, content title "
111
+ "override"
112
+ msgstr ""
113
+ "Custom title to display when sharing this content on twitter, content title "
114
+ "override"
115
+
116
+ msgid "Twitter Description"
117
+ msgstr "Twitter Description"
118
+
119
+ msgid ""
120
+ "Custom description to display when sharing this content on twitter, content "
121
+ "description override"
122
+ msgstr ""
123
+ "Custom description to display when sharing this content on twitter, content "
124
+ "description override"
125
+
126
+ msgid "Twitter Image"
127
+ msgstr "Twitter Image"
128
+
129
+ msgid ""
130
+ "Custom image to display when sharing this content on facebook, content "
131
+ "description override, recommended min size 440px X 220px"
132
+ msgstr ""
133
+ "Custom image to display when sharing this content on facebook, content "
134
+ "description override, recommended min size 440px X 220px"
135
+
136
+ msgid "Use Image"
137
+ msgstr "Use Image"
138
+
139
+ msgid " (because of date display)"
140
+ msgstr " (because of date display)"
141
+
142
+ msgid "(no parent)"
143
+ msgstr "(no parent)"
144
+
145
+ msgid "General"
146
+ msgstr "General"
147
+
148
+ msgid "Social"
149
+ msgstr "Social"
150
+
151
+ msgid "Page title word in content heading"
152
+ msgstr "Page title word in content heading"
153
+
154
+ msgid "Page title word in content"
155
+ msgstr "Page title word in content"
156
+
157
+ msgid "Page url matches with page title"
158
+ msgstr "Page url matches with page title"
159
+
160
+ msgid "Meta title filled"
161
+ msgstr "Meta title filled"
162
+
163
+ msgid "Meta description filled"
164
+ msgstr "Meta description filled"
165
+
166
+ msgid "Wrong image resize"
167
+ msgstr "Wrong image resize"
168
+
169
+ msgid "Image have meta title or alt"
170
+ msgstr "Image have meta title or alt"
171
+
172
+ msgid "SEO Page optimization"
173
+ msgstr "SEO Page optimization"
174
+
175
+ msgid "Social for search engine"
176
+ msgstr "Social for search engine"
177
+
178
+ msgid "Reload analysis"
179
+ msgstr "Reload analysis"
180
+
181
+ msgid "Filter by date"
182
+ msgstr "Filter by date"
183
+
184
+ msgid "All dates"
185
+ msgstr "All dates"
186
+
187
+ msgid "ID"
188
+ msgstr "ID"
189
+
190
+ msgid "Image"
191
+ msgstr "Image"
192
+
193
+ msgid "Name"
194
+ msgstr "Name"
195
+
196
+ msgid "Optimization Info"
197
+ msgstr "Optimization Info"
198
+
199
+ msgid "Alternative text"
200
+ msgstr "Alternative text"
201
+
202
+ msgid "Title"
203
+ msgstr "Title"
204
+
205
+ msgid "Legend"
206
+ msgstr "Legend"
207
+
208
+ msgid "Description"
209
+ msgstr "Description"
210
+
211
+ msgid "Select All"
212
+ msgstr "Select All"
213
+
214
+ msgid "Filter"
215
+ msgstr "Filter"
216
+
217
+ msgid ""
218
+ "We didn't find any image which needed to be updated regarding meta "
219
+ "information"
220
+ msgstr ""
221
+ "We didn't find any image which needed to be updated regarding meta "
222
+ "information"
223
+
224
+ msgid "This image has still not been inserted in any post!"
225
+ msgstr "This image has still not been inserted in any post!"
226
+
227
+ msgid "We found %s which needed to optimize"
228
+ msgstr "We found %s which needed to optimize"
229
+
230
+ msgid "Replace?"
231
+ msgstr "Replace?"
232
+
233
+ msgid "Replace all"
234
+ msgstr "Replace all"
235
+
236
+ msgid "The post doesn't exist, please select another one"
237
+ msgstr "The post doesn't exist, please select another one"
238
+
239
+ msgid "There is a problem when update image name"
240
+ msgstr "There is a problem when update image name"
241
+
242
+ msgid "Image name changed"
243
+ msgstr "Image name changed"
244
+
245
+ msgid "Name already exist"
246
+ msgstr "Name already exist"
247
+
248
+ msgid "File doesn't existed"
249
+ msgstr "File doesn't existed"
250
+
251
+ msgid "Should not be empty"
252
+ msgstr "Should not be empty"
253
+
254
+ msgid "There is a problem during image meta update"
255
+ msgstr "There is a problem during image meta update"
256
+
257
+ msgid "This content has been deleted, please check again!"
258
+ msgstr "This content has been deleted, please check again!"
259
+
260
+ msgid "The post haven't been updated, please check again!"
261
+ msgstr "The post haven't been updated, please check again!"
262
+
263
+ msgid "This image has been removed from the post, please check again!"
264
+ msgstr "This image has been removed from the post, please check again!"
265
+
266
+ msgid "Content of the post is empty, please check again"
267
+ msgstr "Content of the post is empty, please check again"
268
+
269
+ msgid "We can't get traffic rank from Alexa for this website"
270
+ msgstr "We can't get traffic rank from Alexa for this website"
271
+
272
+ msgid "Meta Title"
273
+ msgstr "Meta Title"
274
+
275
+ msgid "Meta Description"
276
+ msgstr "Meta Description"
277
+
278
+ msgid "(no title)"
279
+ msgstr "(no title)"
280
+
281
+ msgid "Edit this item"
282
+ msgstr "Edit this item"
283
+
284
+ msgid "Edit"
285
+ msgstr "Edit"
286
+
287
+ msgid "View"
288
+ msgstr "View"
289
+
290
+ msgid "Preview"
291
+ msgstr "Preview"
292
+
293
+ msgid ""
294
+ "This is a preview of what this content might looks like in Google's search "
295
+ "results."
296
+ msgstr ""
297
+ "Prévisualisation de la manière dont le contenu sera affiché dans les "
298
+ "résultats de recherche"
299
+
300
+ msgid "Snippet Preview"
301
+ msgstr "Snippet Preview"
302
+
303
+ msgid "Facebook profile URL "
304
+ msgstr "Facebook profile URL "
305
+
306
+ msgid "Twitter Username "
307
+ msgstr "Twitter Username "
308
+
309
+ msgid "Meta block edition "
310
+ msgstr "Meta block edition "
311
+
312
+ msgid "Modification was saved"
313
+ msgstr "Modification was saved"
314
+
315
+ msgid "Meta title was not saved"
316
+ msgstr "Meta title was not saved"
317
+
318
+ msgid "Meta description was not saved"
319
+ msgstr "Meta description was not saved"
320
+
321
+ msgid "Dashboard"
322
+ msgstr "Dashboard"
323
+
324
+ msgid "WP Meta SEO"
325
+ msgstr "WP Meta SEO"
326
+
327
+ msgid "Content meta"
328
+ msgstr "Content meta"
329
+
330
+ msgid "Image meta"
331
+ msgstr "Image meta"
332
+
333
+ msgid "Settings"
334
+ msgstr "Settings"
335
+
336
+ msgid "Show/hide meta block edition below content"
337
+ msgstr "Show/hide meta block edition below content"
338
+
339
+ msgid "This post is not existed or deleted, please select another one"
340
+ msgstr "This post is not existed or deleted, please select another one"
341
+
342
+ msgid "Well! This image is so good now."
343
+ msgstr "Well! This image is so good now."
344
+
345
+ msgid "Oops! An error occured when updating the post, please try again"
346
+ msgstr "Oops! An error occured when updating the post, please try again"
347
+
348
+ msgid "Resize image"
349
+ msgstr "Resize image"
350
+
351
+ msgid "Image sizes are good!"
352
+ msgstr "Image sizes are good!"
353
+
354
+ msgid "Fix meta"
355
+ msgstr "Fix meta"
356
+
357
+ msgid "Edit meta"
358
+ msgstr "Edit meta"
359
+
360
+ msgid "N/A"
361
+ msgstr "N/A"
362
+
363
+ msgid "Poor"
364
+ msgstr "Poor"
365
+
366
+ msgid "OK"
367
+ msgstr "OK"
368
+
369
+ msgid "Good"
370
+ msgstr "Good"
371
+
372
+ msgid "Bad"
373
+ msgstr "Bad"
374
+
375
+ msgid "Homepage meta title "
376
+ msgstr "Homepage meta title "
377
+
378
+ msgid "Homepage meta description "
379
+ msgstr "Homepage meta description "
380
+
381
+ #~ msgid ""
382
+ #~ " This is a rendering of what this content might looks like in Google's "
383
+ #~ "search results."
384
+ #~ msgstr ""
385
+ #~ " This is a rendering of what this content might looks like in Google's "
386
+ #~ "search results."
languages/wpms-fr_FR.mo ADDED
Binary file
languages/wpms-fr_FR.po ADDED
@@ -0,0 +1,318 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: WPMS 1.2\n"
4
+ "POT-Creation-Date: \n"
5
+ "PO-Revision-Date: \n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "Language: fr_FR\n"
12
+ "X-Generator: Poedit 1.8.5\n"
13
+
14
+ msgid "Twitter username (without @)"
15
+ msgstr "ID Twitter (sans le @)"
16
+
17
+ msgid "Facebook profile URL"
18
+ msgstr "Adresse URL du profil Facebook"
19
+
20
+ msgid "Be careful you installed 2 extensions doing almost the same thing, please deactivate AIOSEO or Yoast in order to work more clearly!"
21
+ msgstr "Attention plusieurs plugins sont susceptibles d'effectuer les même tâches, essayez de désactiver AIO SEO ou Yoast SEO"
22
+
23
+ msgid "We have found that you’re using All In One Pack Plugin, WP Meta SEO can import the meta from this plugin, %s"
24
+ msgstr "Vous utilisez actuellement All In One SEO Plugin, WP Meta SEO put importer les données de ce plugin pour vous, %s"
25
+
26
+ msgid "We have found that you’re using Yoast SEO Plugin, WP Meta SEO can import the meta from this plugin, %s"
27
+ msgstr "Vous utilisez actuellement Yoast SEO Plugin, WP Meta SEO put importer les données de ce plugin pour vous, %s"
28
+
29
+ msgid "Results preview"
30
+ msgstr "Prévisualisation"
31
+
32
+ msgid "This is a preview of what your content will looks like in search engine results: title, description and URL"
33
+ msgstr "Prévisualisation des résultats de recherche, titre, description et URL"
34
+
35
+ msgid "Search engine title"
36
+ msgstr "Titre"
37
+
38
+ msgid "This is the title of your content that may be displayed in search engine results (meta title). By default it’s the content title (page title, post title…). 69 characters max allowed."
39
+ msgstr "Ceci est le titre de votre contenu qui pourra être reprit par les moteurs de recherche (meta title). Par défaut il s'agit du titre du contenu. 69 caractères autorisés."
40
+
41
+ msgid "Search engine description"
42
+ msgstr "Description"
43
+
44
+ msgid "The description of your content that may be displayed in search engine results aka meta description. By default search engine take an excerpt from your content (depending on the search query). 156 characters max allowed."