Version Description
- Add : Add actions and filters for developers
Download this release
Release Info
Developer | JoomUnited |
Plugin | WP Meta SEO |
Version | 3.7.7 |
Comparing to | |
See all releases |
Code changes from version 3.7.6 to 3.7.7
- inc/class.metaseo-admin.php +165 -8
- inc/class.metaseo-broken-link-table.php +9 -0
- inc/class.metaseo-google-analytics.php +5 -1
- inc/class.metaseo-image-list-table.php +38 -6
- inc/class.metaseo-sitemap.php +21 -2
- languages/wp-meta-seo-en_US.mo +0 -0
- readme.txt +5 -2
- wp-meta-seo.php +2 -2
inc/class.metaseo-admin.php
CHANGED
@@ -1303,6 +1303,13 @@ class MetaSeoAdmin
|
|
1303 |
}
|
1304 |
|
1305 |
$circliful = ceil(100 * ($check) / 7);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1306 |
wp_send_json(array('circliful' => $circliful, 'output' => $output, 'check' => $check));
|
1307 |
}
|
1308 |
|
@@ -1428,6 +1435,14 @@ class MetaSeoAdmin
|
|
1428 |
);
|
1429 |
remove_action('post_updated', array('MetaSeoBrokenLinkTable', 'updatePost'));
|
1430 |
wp_update_post($my_post);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1431 |
wp_send_json(array('status' => true));
|
1432 |
}
|
1433 |
}
|
@@ -1451,6 +1466,14 @@ class MetaSeoAdmin
|
|
1451 |
}
|
1452 |
if (isset($_POST['page_id']) && isset($_POST['index'])) {
|
1453 |
update_post_meta($_POST['page_id'], '_metaseo_metaindex', $_POST['index']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1454 |
wp_send_json(array('status' => true));
|
1455 |
}
|
1456 |
wp_send_json(array('status' => false));
|
@@ -1473,6 +1496,15 @@ class MetaSeoAdmin
|
|
1473 |
}
|
1474 |
if (isset($_POST['page_id']) && isset($_POST['follow'])) {
|
1475 |
update_post_meta((int) $_POST['page_id'], '_metaseo_metafollow', $_POST['follow']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1476 |
wp_send_json(array('status' => true));
|
1477 |
}
|
1478 |
wp_send_json(array('status' => false));
|
@@ -1495,6 +1527,13 @@ class MetaSeoAdmin
|
|
1495 |
}
|
1496 |
if (isset($_POST['link_id'])) {
|
1497 |
$this->doUpdateFollow($_POST['link_id'], $_POST['follow']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1498 |
wp_send_json(array('status' => true));
|
1499 |
}
|
1500 |
wp_send_json(array('status' => false));
|
@@ -1528,6 +1567,15 @@ class MetaSeoAdmin
|
|
1528 |
$follow = 1;
|
1529 |
foreach ($_POST['linkids'] as $linkId) {
|
1530 |
$this->doUpdateFollow($linkId, $follow);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1531 |
}
|
1532 |
break;
|
1533 |
|
@@ -1543,6 +1591,15 @@ class MetaSeoAdmin
|
|
1543 |
} else {
|
1544 |
$this->doUpdateFollow($link->id, $follow);
|
1545 |
$i ++;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1546 |
}
|
1547 |
}
|
1548 |
|
@@ -1556,6 +1613,15 @@ class MetaSeoAdmin
|
|
1556 |
|
1557 |
foreach ($_POST['linkids'] as $linkId) {
|
1558 |
$this->doUpdateFollow($linkId, $follow);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1559 |
}
|
1560 |
break;
|
1561 |
|
@@ -1571,6 +1637,15 @@ class MetaSeoAdmin
|
|
1571 |
} else {
|
1572 |
$this->doUpdateFollow($link->id, $follow);
|
1573 |
$i ++;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1574 |
}
|
1575 |
}
|
1576 |
break;
|
@@ -2289,6 +2364,19 @@ class MetaSeoAdmin
|
|
2289 |
$postID = intval($_POST['postid']);
|
2290 |
$value = trim($_POST['value']);
|
2291 |
$response->msg = esc_html__('Modification was saved', 'wp-meta-seo');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2292 |
if ($metakey === 'metatitle') {
|
2293 |
if (!update_post_meta($postID, '_metaseo_metatitle', $value)) {
|
2294 |
$response->updated = false;
|
@@ -2740,10 +2828,11 @@ class MetaSeoAdmin
|
|
2740 |
);
|
2741 |
|
2742 |
/**
|
2743 |
-
*
|
2744 |
-
*
|
|
|
2745 |
*
|
2746 |
-
* @
|
2747 |
*/
|
2748 |
$manage_options_cap = apply_filters('metaseo_manage_options_capability', 'manage_options');
|
2749 |
|
@@ -3406,11 +3495,37 @@ class MetaSeoAdmin
|
|
3406 |
$i_info_url = pathinfo($attachment->guid);
|
3407 |
switch ($_POST['mtype']) {
|
3408 |
case 'image_alt':
|
3409 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3410 |
break;
|
3411 |
|
3412 |
case 'image_title':
|
3413 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3414 |
break;
|
3415 |
}
|
3416 |
}
|
@@ -3439,7 +3554,21 @@ class MetaSeoAdmin
|
|
3439 |
if (!empty($mposts_empty_alt)) {
|
3440 |
foreach ($mposts_empty_alt as $post) {
|
3441 |
$i_info_url = pathinfo($post->guid);
|
3442 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3443 |
}
|
3444 |
} else {
|
3445 |
wp_send_json(false);
|
@@ -3450,7 +3579,21 @@ class MetaSeoAdmin
|
|
3450 |
if (!empty($mposts_empty_title)) {
|
3451 |
foreach ($mposts_empty_title as $post) {
|
3452 |
$i_info_url = pathinfo($post->guid);
|
3453 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3454 |
}
|
3455 |
} else {
|
3456 |
wp_send_json(false);
|
@@ -3545,7 +3688,21 @@ class MetaSeoAdmin
|
|
3545 |
$mposts = $m_newquery->get_posts();
|
3546 |
if (!empty($mposts)) {
|
3547 |
foreach ($mposts as $post) {
|
3548 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3549 |
}
|
3550 |
wp_send_json(true);
|
3551 |
} else {
|
1303 |
}
|
1304 |
|
1305 |
$circliful = ceil(100 * ($check) / 7);
|
1306 |
+
/**
|
1307 |
+
* Reload analytics
|
1308 |
+
*
|
1309 |
+
* @param integer Post ID
|
1310 |
+
* @param array All the datas
|
1311 |
+
*/
|
1312 |
+
do_action('wpms_reload_analytics', $_POST['datas']['post_id'], $_POST['datas']);
|
1313 |
wp_send_json(array('circliful' => $circliful, 'output' => $output, 'check' => $check));
|
1314 |
}
|
1315 |
|
1435 |
);
|
1436 |
remove_action('post_updated', array('MetaSeoBrokenLinkTable', 'updatePost'));
|
1437 |
wp_update_post($my_post);
|
1438 |
+
/**
|
1439 |
+
* Update link title
|
1440 |
+
*
|
1441 |
+
* @param integer Link ID
|
1442 |
+
* @param string Link meta title
|
1443 |
+
* @param integer Post ID
|
1444 |
+
*/
|
1445 |
+
do_action('wpms_update_link_title', $_POST['link_id'], $_POST['meta_title'], $link_detail->source_id);
|
1446 |
wp_send_json(array('status' => true));
|
1447 |
}
|
1448 |
}
|
1466 |
}
|
1467 |
if (isset($_POST['page_id']) && isset($_POST['index'])) {
|
1468 |
update_post_meta($_POST['page_id'], '_metaseo_metaindex', $_POST['index']);
|
1469 |
+
/**
|
1470 |
+
* Update index/noindex for robots meta tag of a page
|
1471 |
+
*
|
1472 |
+
* @param integer Page ID
|
1473 |
+
* @param string Page meta index
|
1474 |
+
* @param integer Page index value
|
1475 |
+
*/
|
1476 |
+
do_action('wpms_update_page_index', $_POST['page_id'], '_metaseo_metaindex', $_POST['index']);
|
1477 |
wp_send_json(array('status' => true));
|
1478 |
}
|
1479 |
wp_send_json(array('status' => false));
|
1496 |
}
|
1497 |
if (isset($_POST['page_id']) && isset($_POST['follow'])) {
|
1498 |
update_post_meta((int) $_POST['page_id'], '_metaseo_metafollow', $_POST['follow']);
|
1499 |
+
|
1500 |
+
/**
|
1501 |
+
* Update follow/nofollow for robots meta tag of a page
|
1502 |
+
*
|
1503 |
+
* @param integer Page ID
|
1504 |
+
* @param string Page meta follow
|
1505 |
+
* @param integer Page follow value
|
1506 |
+
*/
|
1507 |
+
do_action('wpms_update_page_follow', $_POST['page_id'], '_metaseo_metafollow', $_POST['follow']);
|
1508 |
wp_send_json(array('status' => true));
|
1509 |
}
|
1510 |
wp_send_json(array('status' => false));
|
1527 |
}
|
1528 |
if (isset($_POST['link_id'])) {
|
1529 |
$this->doUpdateFollow($_POST['link_id'], $_POST['follow']);
|
1530 |
+
/**
|
1531 |
+
* Update follow/nofollow for rel attribute of a link
|
1532 |
+
*
|
1533 |
+
* @param integer Link ID
|
1534 |
+
* @param integer Link follow
|
1535 |
+
*/
|
1536 |
+
do_action('wpms_update_link_follow', $_POST['link_id'], $_POST['follow']);
|
1537 |
wp_send_json(array('status' => true));
|
1538 |
}
|
1539 |
wp_send_json(array('status' => false));
|
1567 |
$follow = 1;
|
1568 |
foreach ($_POST['linkids'] as $linkId) {
|
1569 |
$this->doUpdateFollow($linkId, $follow);
|
1570 |
+
/**
|
1571 |
+
* Update follow/nofollow for rel attribute of a link
|
1572 |
+
*
|
1573 |
+
* @param integer Link ID
|
1574 |
+
* @param integer Link follow
|
1575 |
+
*
|
1576 |
+
* @ignore Hook already documented
|
1577 |
+
*/
|
1578 |
+
do_action('wpms_update_link_follow', $linkId, $follow);
|
1579 |
}
|
1580 |
break;
|
1581 |
|
1591 |
} else {
|
1592 |
$this->doUpdateFollow($link->id, $follow);
|
1593 |
$i ++;
|
1594 |
+
/**
|
1595 |
+
* Update follow/nofollow for rel attribute of a link
|
1596 |
+
*
|
1597 |
+
* @param integer Link ID
|
1598 |
+
* @param integer Link follow
|
1599 |
+
*
|
1600 |
+
* @ignore Hook already documented
|
1601 |
+
*/
|
1602 |
+
do_action('wpms_update_link_follow', $link->id, $follow);
|
1603 |
}
|
1604 |
}
|
1605 |
|
1613 |
|
1614 |
foreach ($_POST['linkids'] as $linkId) {
|
1615 |
$this->doUpdateFollow($linkId, $follow);
|
1616 |
+
/**
|
1617 |
+
* Update follow/nofollow for rel attribute of a link
|
1618 |
+
*
|
1619 |
+
* @param integer Link ID
|
1620 |
+
* @param integer Link follow
|
1621 |
+
*
|
1622 |
+
* @ignore Hook already documented
|
1623 |
+
*/
|
1624 |
+
do_action('wpms_update_link_follow', $linkId, $follow);
|
1625 |
}
|
1626 |
break;
|
1627 |
|
1637 |
} else {
|
1638 |
$this->doUpdateFollow($link->id, $follow);
|
1639 |
$i ++;
|
1640 |
+
/**
|
1641 |
+
* Update follow/nofollow for rel attribute of a link
|
1642 |
+
*
|
1643 |
+
* @param integer Link ID
|
1644 |
+
* @param integer Link follow
|
1645 |
+
*
|
1646 |
+
* @ignore Hook already documented
|
1647 |
+
*/
|
1648 |
+
do_action('wpms_update_link_follow', $link->id, $follow);
|
1649 |
}
|
1650 |
}
|
1651 |
break;
|
2364 |
$postID = intval($_POST['postid']);
|
2365 |
$value = trim($_POST['value']);
|
2366 |
$response->msg = esc_html__('Modification was saved', 'wp-meta-seo');
|
2367 |
+
|
2368 |
+
/**
|
2369 |
+
* Filter before update meta for post/page
|
2370 |
+
*
|
2371 |
+
* @param string Meta value
|
2372 |
+
* @param integer Post ID
|
2373 |
+
* @param string Meta key
|
2374 |
+
* @param array Extra informations
|
2375 |
+
*
|
2376 |
+
* @return string
|
2377 |
+
*/
|
2378 |
+
$value = apply_filters('wpms_update_content_meta', $value, $postID, $metakey, array('source'=>'update_meta'));
|
2379 |
+
|
2380 |
if ($metakey === 'metatitle') {
|
2381 |
if (!update_post_meta($postID, '_metaseo_metatitle', $value)) {
|
2382 |
$response->updated = false;
|
2828 |
);
|
2829 |
|
2830 |
/**
|
2831 |
+
* Allow changing the capability users need to view the settings pages
|
2832 |
+
*
|
2833 |
+
* @api string Default capability
|
2834 |
*
|
2835 |
+
* @return string
|
2836 |
*/
|
2837 |
$manage_options_cap = apply_filters('metaseo_manage_options_capability', 'manage_options');
|
2838 |
|
3495 |
$i_info_url = pathinfo($attachment->guid);
|
3496 |
switch ($_POST['mtype']) {
|
3497 |
case 'image_alt':
|
3498 |
+
$value = $i_info_url['filename'];
|
3499 |
+
/**
|
3500 |
+
* Filter before update meta for image
|
3501 |
+
*
|
3502 |
+
* @param string Meta value
|
3503 |
+
* @param integer Image ID
|
3504 |
+
* @param string Meta key
|
3505 |
+
* @param array Extra informations
|
3506 |
+
*
|
3507 |
+
* @return string
|
3508 |
+
*/
|
3509 |
+
$value = apply_filters('wpms_update_image_meta', $value, $attachment->ID, '_wp_attachment_image_alt', array('source'=>'bulk_copy_alt'));
|
3510 |
+
update_post_meta($attachment->ID, '_wp_attachment_image_alt', $value);
|
3511 |
break;
|
3512 |
|
3513 |
case 'image_title':
|
3514 |
+
$value = $i_info_url['filename'];
|
3515 |
+
/**
|
3516 |
+
* Filter before update meta for image
|
3517 |
+
*
|
3518 |
+
* @param string Meta value
|
3519 |
+
* @param integer Image ID
|
3520 |
+
* @param string Post title field name
|
3521 |
+
* @param array Extra informations
|
3522 |
+
*
|
3523 |
+
* @return string
|
3524 |
+
*
|
3525 |
+
* @ignore Hook already documented
|
3526 |
+
*/
|
3527 |
+
$value = apply_filters('wpms_update_image_meta', $value, $attachment->ID, 'post_title', array('source'=>'bulk_copy_title'));
|
3528 |
+
wp_update_post(array('ID' => $attachment->ID, 'post_title' => $value));
|
3529 |
break;
|
3530 |
}
|
3531 |
}
|
3554 |
if (!empty($mposts_empty_alt)) {
|
3555 |
foreach ($mposts_empty_alt as $post) {
|
3556 |
$i_info_url = pathinfo($post->guid);
|
3557 |
+
$value = $i_info_url['filename'];
|
3558 |
+
/**
|
3559 |
+
* Filter before update meta for image
|
3560 |
+
*
|
3561 |
+
* @param string Meta value
|
3562 |
+
* @param integer Image ID
|
3563 |
+
* @param string Meta key
|
3564 |
+
* @param array Extra informations
|
3565 |
+
*
|
3566 |
+
* @return string
|
3567 |
+
*
|
3568 |
+
* @ignore Hook already documented
|
3569 |
+
*/
|
3570 |
+
$value = apply_filters('wpms_update_image_meta', $value, $post->ID, '_wp_attachment_image_alt', array('source'=>'bulk_copy_alt'));
|
3571 |
+
update_post_meta($post->ID, '_wp_attachment_image_alt', $value);
|
3572 |
}
|
3573 |
} else {
|
3574 |
wp_send_json(false);
|
3579 |
if (!empty($mposts_empty_title)) {
|
3580 |
foreach ($mposts_empty_title as $post) {
|
3581 |
$i_info_url = pathinfo($post->guid);
|
3582 |
+
$value = $i_info_url['filename'];
|
3583 |
+
/**
|
3584 |
+
* Filter before update meta for image
|
3585 |
+
*
|
3586 |
+
* @param string Meta value
|
3587 |
+
* @param integer Image ID
|
3588 |
+
* @param string Post title field name
|
3589 |
+
* @param array Extra informations
|
3590 |
+
*
|
3591 |
+
* @return string
|
3592 |
+
*
|
3593 |
+
* @ignore Hook already documented
|
3594 |
+
*/
|
3595 |
+
$value = apply_filters('wpms_update_image_meta', $value, $post->ID, 'post_title', array('source'=>'bulk_copy_title'));
|
3596 |
+
wp_update_post(array('ID' => $post->ID, 'post_title' => $value));
|
3597 |
}
|
3598 |
} else {
|
3599 |
wp_send_json(false);
|
3688 |
$mposts = $m_newquery->get_posts();
|
3689 |
if (!empty($mposts)) {
|
3690 |
foreach ($mposts as $post) {
|
3691 |
+
$value = $post->post_title;
|
3692 |
+
/**
|
3693 |
+
* Filter before update meta for post/page
|
3694 |
+
*
|
3695 |
+
* @param string Meta value
|
3696 |
+
* @param integer Post ID
|
3697 |
+
* @param string Meta key
|
3698 |
+
* @param array Extra informations
|
3699 |
+
*
|
3700 |
+
* @return string
|
3701 |
+
*
|
3702 |
+
* @ignore Hook already documented
|
3703 |
+
*/
|
3704 |
+
$value = apply_filters('wpms_update_content_meta', $value, $post->ID, '_metaseo_metatitle', array('source'=>'copy_title'));
|
3705 |
+
update_post_meta($post->ID, '_metaseo_metatitle', $value);
|
3706 |
}
|
3707 |
wp_send_json(true);
|
3708 |
} else {
|
inc/class.metaseo-broken-link-table.php
CHANGED
@@ -1673,6 +1673,10 @@ class MetaSeoBrokenLinkTable extends WP_List_Table
|
|
1673 |
|
1674 |
$link_settings['wpms_lastRun_scanlink'] = time();
|
1675 |
update_option('wpms_link_settings', $link_settings);
|
|
|
|
|
|
|
|
|
1676 |
wp_send_json(array('status' => true));
|
1677 |
}
|
1678 |
|
@@ -1847,6 +1851,11 @@ class MetaSeoBrokenLinkTable extends WP_List_Table
|
|
1847 |
$wpms_nonce = $_POST['wpms_nonce'];
|
1848 |
}
|
1849 |
|
|
|
|
|
|
|
|
|
|
|
1850 |
do_action('wpms_add_custom_redirect', $wpms_nonce);
|
1851 |
wp_send_json(array('status' => true, 'message' => esc_html__('Done!', 'wp-meta-seo')));
|
1852 |
}
|
1673 |
|
1674 |
$link_settings['wpms_lastRun_scanlink'] = time();
|
1675 |
update_option('wpms_link_settings', $link_settings);
|
1676 |
+
/**
|
1677 |
+
* Scan link
|
1678 |
+
*/
|
1679 |
+
do_action('wpms_scan_link');
|
1680 |
wp_send_json(array('status' => true));
|
1681 |
}
|
1682 |
|
1851 |
$wpms_nonce = $_POST['wpms_nonce'];
|
1852 |
}
|
1853 |
|
1854 |
+
/**
|
1855 |
+
* Add custom redirect
|
1856 |
+
*
|
1857 |
+
* @param string nonce
|
1858 |
+
*/
|
1859 |
do_action('wpms_add_custom_redirect', $wpms_nonce);
|
1860 |
wp_send_json(array('status' => true, 'message' => esc_html__('Done!', 'wp-meta-seo')));
|
1861 |
}
|
inc/class.metaseo-google-analytics.php
CHANGED
@@ -74,7 +74,11 @@ class MetaSeoGoogleAnalytics
|
|
74 |
|
75 |
if (isset($uri_parts[3])) {
|
76 |
$uri = '/' . $uri_parts[3];
|
77 |
-
|
|
|
|
|
|
|
|
|
78 |
$filter = apply_filters('wpmsga_backenditem_uri', $uri);
|
79 |
$lastchar = substr($filter, - 1);
|
80 |
|
74 |
|
75 |
if (isset($uri_parts[3])) {
|
76 |
$uri = '/' . $uri_parts[3];
|
77 |
+
/**
|
78 |
+
* Allow URL correction before sending an API request
|
79 |
+
*
|
80 |
+
* @param string URL
|
81 |
+
*/
|
82 |
$filter = apply_filters('wpmsga_backenditem_uri', $uri);
|
83 |
$lastchar = substr($filter, - 1);
|
84 |
|
inc/class.metaseo-image-list-table.php
CHANGED
@@ -1349,28 +1349,53 @@ class MetaSeoImageListTable extends WP_List_Table
|
|
1349 |
);
|
1350 |
|
1351 |
if ($meta_type !== 'alt_text') {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1352 |
$data = array('ID' => $post_id, $aliases[$meta_type] => $meta_value);
|
1353 |
if (wp_update_post($data)) {
|
1354 |
$response->updated = true;
|
1355 |
$response->msg = $label . esc_html__(' was saved', 'wp-meta-seo');
|
1356 |
}
|
1357 |
} else {
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1362 |
|
1363 |
-
|
1364 |
$settings = get_option('_metaseo_settings');
|
1365 |
if (!isset($settings['metaseo_overridemeta']) || (!empty($settings['metaseo_overridemeta'])
|
1366 |
&& (int) $settings['metaseo_overridemeta'] === 1)) {
|
1367 |
// call function auto override in content
|
1368 |
-
|
1369 |
self::autoUpdatePostContent($post_id, $meta_type, $meta_value);
|
1370 |
$response->type = 'auto_override';
|
1371 |
$response->pid = $post_id;
|
1372 |
$response->imgname = $_POST['img_name'];
|
1373 |
}
|
|
|
|
|
|
|
1374 |
}
|
1375 |
} else {
|
1376 |
$response->msg = esc_html__('There is a problem when update image meta!', 'wp-meta-seo');
|
@@ -1611,6 +1636,13 @@ class MetaSeoImageListTable extends WP_List_Table
|
|
1611 |
update_post_meta($postID, '_wp_attached_file', $newFileName);
|
1612 |
update_post_meta($postID, '_wp_attachment_metadata', $attached_metadata);
|
1613 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1614 |
$response->updated = true;
|
1615 |
$response->msg = esc_html__('Image name was changed', 'wp-meta-seo');
|
1616 |
} else {
|
1349 |
);
|
1350 |
|
1351 |
if ($meta_type !== 'alt_text') {
|
1352 |
+
/**
|
1353 |
+
* Filter before update meta for image
|
1354 |
+
*
|
1355 |
+
* @param string Meta value
|
1356 |
+
* @param integer Image ID
|
1357 |
+
* @param string Field name
|
1358 |
+
* @param array Extra informations
|
1359 |
+
*
|
1360 |
+
* @return string
|
1361 |
+
*
|
1362 |
+
* @ignore Hook already documented
|
1363 |
+
*/
|
1364 |
+
$meta_value = apply_filters('wpms_update_image_meta', $meta_value, $post_id, $aliases[$meta_type], array('source'=>'ajax_update'));
|
1365 |
+
|
1366 |
$data = array('ID' => $post_id, $aliases[$meta_type] => $meta_value);
|
1367 |
if (wp_update_post($data)) {
|
1368 |
$response->updated = true;
|
1369 |
$response->msg = $label . esc_html__(' was saved', 'wp-meta-seo');
|
1370 |
}
|
1371 |
} else {
|
1372 |
+
/**
|
1373 |
+
* Filter before update meta for image
|
1374 |
+
*
|
1375 |
+
* @param string Meta value
|
1376 |
+
* @param integer Image ID
|
1377 |
+
* @param string Field name
|
1378 |
+
* @param array Extra informations
|
1379 |
+
*
|
1380 |
+
* @return string
|
1381 |
+
*
|
1382 |
+
* @ignore Hook already documented
|
1383 |
+
*/
|
1384 |
+
$meta_value = apply_filters('wpms_update_image_meta', $meta_value, $post_id, $aliases[$meta_type], array('source'=>'ajax_update'));
|
1385 |
|
1386 |
+
update_post_meta($post_id, $aliases[$meta_type], $meta_value);
|
1387 |
$settings = get_option('_metaseo_settings');
|
1388 |
if (!isset($settings['metaseo_overridemeta']) || (!empty($settings['metaseo_overridemeta'])
|
1389 |
&& (int) $settings['metaseo_overridemeta'] === 1)) {
|
1390 |
// call function auto override in content
|
|
|
1391 |
self::autoUpdatePostContent($post_id, $meta_type, $meta_value);
|
1392 |
$response->type = 'auto_override';
|
1393 |
$response->pid = $post_id;
|
1394 |
$response->imgname = $_POST['img_name'];
|
1395 |
}
|
1396 |
+
|
1397 |
+
$response->updated = true;
|
1398 |
+
$response->msg = $label . esc_html__(' was saved', 'wp-meta-seo');
|
1399 |
}
|
1400 |
} else {
|
1401 |
$response->msg = esc_html__('There is a problem when update image meta!', 'wp-meta-seo');
|
1636 |
update_post_meta($postID, '_wp_attached_file', $newFileName);
|
1637 |
update_post_meta($postID, '_wp_attachment_metadata', $attached_metadata);
|
1638 |
|
1639 |
+
/**
|
1640 |
+
* Update image name
|
1641 |
+
*
|
1642 |
+
* @param integer Image ID
|
1643 |
+
* @param string Image new name
|
1644 |
+
*/
|
1645 |
+
do_action('wpms_update_image_name', $postID, $newFileName);
|
1646 |
$response->updated = true;
|
1647 |
$response->msg = esc_html__('Image name was changed', 'wp-meta-seo');
|
1648 |
} else {
|
inc/class.metaseo-sitemap.php
CHANGED
@@ -1109,6 +1109,15 @@ class MetaSeoSitemap
|
|
1109 |
chmod(ABSPATH, 0755);
|
1110 |
}
|
1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1112 |
if (is_multisite()) {
|
1113 |
$home_url = preg_replace(
|
1114 |
'/[^a-zA-ZА-Яа-я0-9\s]/',
|
@@ -2397,8 +2406,12 @@ ORDER BY p.post_date DESC', array($post_type)));
|
|
2397 |
}
|
2398 |
}
|
2399 |
|
2400 |
-
|
2401 |
-
|
|
|
|
|
|
|
|
|
2402 |
wp_send_json(array('status' => true, 'message' => 'success'));
|
2403 |
}
|
2404 |
|
@@ -2573,6 +2586,12 @@ ORDER BY p.post_date DESC', array($post_type)));
|
|
2573 |
|
2574 |
update_option('_metaseo_settings_sitemap', $settings_sitemap);
|
2575 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2576 |
wp_send_json(true);
|
2577 |
}
|
2578 |
}
|
1109 |
chmod(ABSPATH, 0755);
|
1110 |
}
|
1111 |
|
1112 |
+
/**
|
1113 |
+
* Filter run before save sitemap to xml file
|
1114 |
+
*
|
1115 |
+
* @param object The current xml object
|
1116 |
+
*
|
1117 |
+
* @return object
|
1118 |
+
*/
|
1119 |
+
$xml = apply_filters('wpms_save_sitemap_xml', $xml);
|
1120 |
+
|
1121 |
if (is_multisite()) {
|
1122 |
$home_url = preg_replace(
|
1123 |
'/[^a-zA-ZА-Яа-я0-9\s]/',
|
2406 |
}
|
2407 |
}
|
2408 |
|
2409 |
+
/**
|
2410 |
+
* Regenerate sitemaps
|
2411 |
+
*
|
2412 |
+
* @param array Sitemap settings
|
2413 |
+
*/
|
2414 |
+
do_action('wpms_regenerate_sitemaps', $this->settings_sitemap);
|
2415 |
wp_send_json(array('status' => true, 'message' => 'success'));
|
2416 |
}
|
2417 |
|
2586 |
|
2587 |
update_option('_metaseo_settings_sitemap', $settings_sitemap);
|
2588 |
|
2589 |
+
/**
|
2590 |
+
* Save sitemap settings
|
2591 |
+
*
|
2592 |
+
* @param array Sitemap settings
|
2593 |
+
*/
|
2594 |
+
do_action('wpms_save_sitemap_settings', $settings_sitemap);
|
2595 |
wp_send_json(true);
|
2596 |
}
|
2597 |
}
|
languages/wp-meta-seo-en_US.mo
CHANGED
Binary file
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: JoomUnited
|
|
3 |
Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo, redirect, redirection, 301, broken link
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 4.9.8
|
6 |
-
Stable tag: 3.7.
|
7 |
Requires PHP: 5.3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -277,13 +277,16 @@ Yes WP Meta SEO is compatible with Gutenberg editor since 3.7 version.
|
|
277 |
|
278 |
== Changelog ==
|
279 |
|
|
|
|
|
|
|
280 |
= 3.7.6 =
|
281 |
* Fix : Redirect to home page when WPMS Addon is not activated
|
282 |
|
283 |
= 3.7.5 =
|
284 |
* Fix : Warning returned on frontend
|
285 |
* Fix : Load Dashboard widget content using ajax method (large amount of data)
|
286 |
-
* Fix :
|
287 |
|
288 |
= 3.7.4 =
|
289 |
* Fix : Update alt meta for Elementor image in content
|
3 |
Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo, redirect, redirection, 301, broken link
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 4.9.8
|
6 |
+
Stable tag: 3.7.7
|
7 |
Requires PHP: 5.3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
277 |
|
278 |
== Changelog ==
|
279 |
|
280 |
+
= 3.7.7 =
|
281 |
+
* Add : Add actions and filters for developers
|
282 |
+
|
283 |
= 3.7.6 =
|
284 |
* Fix : Redirect to home page when WPMS Addon is not activated
|
285 |
|
286 |
= 3.7.5 =
|
287 |
* Fix : Warning returned on frontend
|
288 |
* Fix : Load Dashboard widget content using ajax method (large amount of data)
|
289 |
+
* Fix : PHP warning in redirect URL interface
|
290 |
|
291 |
= 3.7.4 =
|
292 |
* Fix : Update alt meta for Elementor image in content
|
wp-meta-seo.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: WP Meta SEO
|
5 |
* Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
|
6 |
* Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
|
7 |
-
* Version: 3.7.
|
8 |
* Text Domain: wp-meta-seo
|
9 |
* Domain Path: /languages
|
10 |
* Author: JoomUnited
|
@@ -90,7 +90,7 @@ if (!defined('WPMSEO_VERSION')) {
|
|
90 |
/**
|
91 |
* Plugin version
|
92 |
*/
|
93 |
-
define('WPMSEO_VERSION', '3.7.
|
94 |
}
|
95 |
|
96 |
if (!defined('WPMS_CLIENTID')) {
|
4 |
* Plugin Name: WP Meta SEO
|
5 |
* Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
|
6 |
* Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
|
7 |
+
* Version: 3.7.7
|
8 |
* Text Domain: wp-meta-seo
|
9 |
* Domain Path: /languages
|
10 |
* Author: JoomUnited
|
90 |
/**
|
91 |
* Plugin version
|
92 |
*/
|
93 |
+
define('WPMSEO_VERSION', '3.7.7');
|
94 |
}
|
95 |
|
96 |
if (!defined('WPMS_CLIENTID')) {
|