You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.2 KiB
PHTML
66 lines
1.2 KiB
PHTML
8 months ago
|
<?php
|
||
|
/**
|
||
|
* The Video Sitemap Metabox.
|
||
|
*
|
||
|
* @since 1.0.0
|
||
|
* @package RankMath
|
||
|
* @subpackage RankMathPro
|
||
|
* @author MyThemeShop <admin@mythemeshop.com>
|
||
|
*/
|
||
|
|
||
|
namespace RankMathPro\Sitemap;
|
||
|
|
||
|
use RankMath\Helper;
|
||
|
use RankMath\Traits\Hooker;
|
||
|
use MyThemeShop\Helpers\WordPress;
|
||
|
use RankMath\Sitemap\Cache_Watcher;
|
||
|
|
||
|
defined( 'ABSPATH' ) || exit;
|
||
|
|
||
|
/**
|
||
|
* Video_Metabox class.
|
||
|
*/
|
||
|
class Video_Metabox {
|
||
|
|
||
|
use Hooker;
|
||
|
|
||
|
/**
|
||
|
* The Constructor.
|
||
|
*/
|
||
|
public function __construct() {
|
||
|
$this->action( 'save_post', 'save_post' );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Check for relevant post type before invalidation.
|
||
|
*
|
||
|
* @param int $post_id Post ID to possibly invalidate for.
|
||
|
*/
|
||
|
public function save_post( $post_id ) {
|
||
|
if (
|
||
|
! $this->can_add_tab( get_post_type( $post_id ) ) ||
|
||
|
false === Helper::is_post_indexable( $post_id ) ||
|
||
|
wp_is_post_revision( $post_id )
|
||
|
) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
Cache_Watcher::invalidate( 'video' );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Show field check callback.
|
||
|
*
|
||
|
* @param string $post_type Post type.
|
||
|
*
|
||
|
* @return boolean
|
||
|
*/
|
||
|
private function can_add_tab( $post_type ) {
|
||
|
return in_array(
|
||
|
$post_type,
|
||
|
(array) Helper::get_settings( 'sitemap.video_sitemap_post_type' ),
|
||
|
true
|
||
|
);
|
||
|
}
|
||
|
}
|