관리-도구
편집 파일: Included.php
<?php namespace AIOSEO\Plugin\Common\Meta; // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * To check whether SEO is enabled for the queried object. * * @since 4.0.0 */ class Included { /** * Checks whether the queried object is included. * * @since 4.0.0 * * @return bool */ public function isIncluded() { if ( is_admin() || is_feed() ) { return false; } if ( apply_filters( 'aioseo_disable', false ) || $this->isExcludedGlobal() ) { return false; } if ( ! $this->isQueriedObjectPublic() ) { return false; } return true; } /** * Checks whether the queried object is public. * * @since 4.2.2 * * @return bool Whether the queried object is public. */ protected function isQueriedObjectPublic() { $queriedObject = get_queried_object(); if ( is_a( $queriedObject, 'WP_Post' ) ) { return aioseo()->helpers->isPostTypePublic( $queriedObject->post_type ); } // Check if the current page is a post type archive page. if ( is_a( $queriedObject, 'WP_Post_Type' ) ) { return aioseo()->helpers->isPostTypePublic( $queriedObject->name ); } if ( is_a( $queriedObject, 'WP_Term' ) ) { return aioseo()->helpers->isTaxonomyPublic( $queriedObject->taxonomy ); } // Return true in all other cases (e.g. search page, date archive, etc.). return true; } /** * Checks whether the queried object has been excluded globally. * * @since 4.0.0 * * @return bool */ protected function isExcludedGlobal() { if ( is_category() || is_tag() || is_tax() ) { return $this->isTaxExcludedGlobal(); } if ( ! in_array( 'excludePosts', aioseo()->internalOptions->deprecatedOptions, true ) ) { return false; } $excludedPosts = aioseo()->options->deprecated->searchAppearance->advanced->excludePosts; if ( empty( $excludedPosts ) ) { return false; } $ids = []; foreach ( $excludedPosts as $object ) { $object = json_decode( $object ); if ( is_int( $object->value ) ) { $ids[] = (int) $object->value; } } $post = aioseo()->helpers->getPost(); if ( empty( $post ) ) { return false; } if ( in_array( (int) $post->ID, $ids, true ) ) { return true; } return false; } /** * Checks whether the queried object has been excluded globally. * * @since 4.0.0 * * @return bool */ protected function isTaxExcludedGlobal() { if ( ! in_array( 'excludeTerms', aioseo()->internalOptions->deprecatedOptions, true ) ) { return false; } $excludedTerms = aioseo()->options->deprecated->searchAppearance->advanced->excludeTerms; if ( empty( $excludedTerms ) ) { return false; } $ids = []; foreach ( $excludedTerms as $object ) { $object = json_decode( $object ); if ( is_int( $object->value ) ) { $ids[] = (int) $object->value; } } $term = get_queried_object(); if ( in_array( (int) $term->term_id, $ids, true ) ) { return true; } return false; } }