PATH:
home
/
letacommog
/
ldqm1
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
integrations
/
third-party
<?php namespace Yoast\WP\SEO\Integrations\Third_Party; use Google\Web_Stories as Google_Web_Stories; use WP_Screen; use WPSEO_Admin_Asset_Manager; use Yoast\WP\SEO\Conditionals\Web_Stories_Conditional; use Yoast\WP\SEO\Integrations\Front_End_Integration; use Yoast\WP\SEO\Integrations\Integration_Interface; use Yoast\WP\SEO\Models\Indexable; /** * Web Stories integration. */ class Web_Stories implements Integration_Interface { /** * The front end integration. * * @var Front_End_Integration */ protected $front_end; /** * Returns the conditionals based in which this loadable should be active. * * @return array */ public static function get_conditionals() { return [ Web_Stories_Conditional::class ]; } /** * Constructs the Web Stories integration * * @param Front_End_Integration $front_end The front end integration. */ public function __construct( Front_End_Integration $front_end ) { $this->front_end = $front_end; } /** * Initializes the integration. * * This is the place to register hooks and filters. * * @return void */ public function register_hooks() { \add_action( 'web_stories_story_head', [ $this, 'remove_web_stories_meta_output' ], 0 ); \add_action( 'web_stories_story_head', [ $this->front_end, 'call_wpseo_head' ], 9 ); \add_filter( 'wpseo_schema_article_post_types', [ $this, 'filter_schema_article_post_types' ] ); \add_filter( 'wpseo_schema_article_type', [ $this, 'filter_schema_article_type' ], 10, 2 ); \add_action( 'admin_enqueue_scripts', [ $this, 'dequeue_admin_assets' ] ); } /** * Removes Web Stories meta output. * * @return void */ public function remove_web_stories_meta_output() { $instance = Google_Web_Stories\get_plugin_instance()->discovery; \remove_action( 'web_stories_story_head', [ $instance, 'print_metadata' ] ); \remove_action( 'web_stories_story_head', [ $instance, 'print_schemaorg_metadata' ] ); \remove_action( 'web_stories_story_head', [ $instance, 'print_open_graph_metadata' ] ); \remove_action( 'web_stories_story_head', [ $instance, 'print_twitter_metadata' ] ); \remove_action( 'web_stories_story_head', 'rel_canonical' ); } /** * Removes assets for the stories editor & dashboard as they are completely custom. * * @return void */ public function dequeue_admin_assets() { $screen = \get_current_screen(); if ( $screen instanceof WP_Screen && Google_Web_Stories\Story_Post_Type::POST_TYPE_SLUG === $screen->post_type && $screen->base !== 'edit' ) { \wp_dequeue_script( WPSEO_Admin_Asset_Manager::PREFIX . 'post-edit' ); \wp_dequeue_script( WPSEO_Admin_Asset_Manager::PREFIX . 'post-edit-classic' ); \wp_dequeue_script( WPSEO_Admin_Asset_Manager::PREFIX . 'edit-page-script' ); \wp_dequeue_script( WPSEO_Admin_Asset_Manager::PREFIX . 'quick-edit-handler' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'metabox-css' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'scoring' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'select2' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'monorepo' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-css' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'featured-image' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'dismissible' ); \wp_dequeue_style( WPSEO_Admin_Asset_Manager::PREFIX . 'edit-page' ); } } /** * Adds web story post type to list of which post types to output Article schema for. * * @param string[] $post_types Array of post types. * @return string[] Array of post types. */ public function filter_schema_article_post_types( $post_types ) { $post_types[] = Google_Web_Stories\Story_Post_Type::POST_TYPE_SLUG; return $post_types; } /** * Filters Article type for Web Stories. * * @param string|string[] $type The Article type. * @param Indexable $indexable The indexable. * @return string|string[] Article type. */ public function filter_schema_article_type( $type, $indexable ) { if ( Google_Web_Stories\Story_Post_Type::POST_TYPE_SLUG !== $indexable->object_sub_type ) { return $type; } if ( is_string( $type ) && $type === 'None' ) { return 'Article'; } return $type; } }
[+]
..
[-] jetpack.php
[edit]
[-] the-events-calendar.php
[edit]
[-] web-stories.php
[edit]
[-] amp.php
[edit]
[-] bbpress.php
[edit]
[-] woocommerce.php
[edit]
[-] woocommerce-permalinks.php
[edit]
[-] w3-total-cache.php
[edit]
[-] wpml.php
[edit]