Файловый менеджер - Редактировать - /home/kunzqhe/photostocker/2/filters.tar
Ðазад
class-cornerstone-filter.php 0000644 00000007252 15151233460 0012212 0 ustar 00 <?php /** * WPSEO plugin file. * * @package WPSEO\Admin */ /** * Registers the filter for filtering posts by cornerstone content. */ class WPSEO_Cornerstone_Filter extends WPSEO_Abstract_Post_Filter { /** * Name of the meta value. * * @var string */ const META_NAME = 'is_cornerstone'; /** * Registers the hooks. * * @return void */ public function register_hooks() { parent::register_hooks(); add_filter( 'wpseo_cornerstone_post_types', [ 'WPSEO_Post_Type', 'filter_attachment_post_type' ] ); add_filter( 'wpseo_cornerstone_post_types', [ $this, 'filter_metabox_disabled' ] ); } /** * Returns the query value this filter uses. * * @return string The query value this filter uses. */ public function get_query_val() { return 'cornerstone'; } /** * Modify the query based on the seo_filter variable in $_GET. * * @param string $where Query variables. * * @return string The modified query. */ public function filter_posts( $where ) { if ( $this->is_filter_active() ) { global $wpdb; $where .= $wpdb->prepare( " AND {$wpdb->posts}.ID IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = %s AND meta_value = '1' ) ", WPSEO_Meta::$meta_prefix . self::META_NAME ); } return $where; } /** * Filters the post types that have the metabox disabled. * * @param array $post_types The post types to filter. * * @return array The filtered post types. */ public function filter_metabox_disabled( $post_types ) { $filtered_post_types = []; foreach ( $post_types as $post_type_key => $post_type ) { if ( ! WPSEO_Post_Type::has_metabox_enabled( $post_type_key ) ) { continue; } $filtered_post_types[ $post_type_key ] = $post_type; } return $filtered_post_types; } /** * Returns the label for this filter. * * @return string The label for this filter. */ protected function get_label() { return __( 'Cornerstone content', 'wordpress-seo' ); } /** * Returns a text explaining this filter. * * @return string|null The explanation. */ protected function get_explanation() { $post_type_object = get_post_type_object( $this->get_current_post_type() ); if ( $post_type_object === null ) { return null; } return sprintf( /* translators: %1$s expands to the posttype label, %2$s expands anchor to blog post about cornerstone content, %3$s expands to </a> */ __( 'Mark the most important %1$s as \'cornerstone content\' to improve your site structure. %2$sLearn more about cornerstone content%3$s.', 'wordpress-seo' ), strtolower( $post_type_object->labels->name ), '<a href="' . WPSEO_Shortlinker::get( 'https://yoa.st/1i9' ) . '" target="_blank">', '</a>' ); } /** * Returns the total amount of articles marked as cornerstone content. * * @return int */ protected function get_post_total() { global $wpdb; return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( 1 ) FROM {$wpdb->postmeta} WHERE post_id IN( SELECT ID FROM {$wpdb->posts} WHERE post_type = %s ) AND meta_key = %s AND meta_value = '1' ", $this->get_current_post_type(), WPSEO_Meta::$meta_prefix . self::META_NAME ) ); } /** * Returns the post types to which this filter should be added. * * @return array The post types to which this filter should be added. */ protected function get_post_types() { /** * Filter: 'wpseo_cornerstone_post_types' - Filters post types to exclude the cornerstone feature for. * * @api array - The accessible post types to filter. */ $post_types = apply_filters( 'wpseo_cornerstone_post_types', parent::get_post_types() ); if ( ! is_array( $post_types ) ) { return []; } return $post_types; } } class-abstract-post-filter.php 0000644 00000011237 15151233460 0012435 0 ustar 00 <?php /** * WPSEO plugin file. * * @package WPSEO\Admin\Filters */ /** * Class WPSEO_Abstract_Post_Filter. */ abstract class WPSEO_Abstract_Post_Filter implements WPSEO_WordPress_Integration { /** * The filter's query argument. * * @var string */ const FILTER_QUERY_ARG = 'yoast_filter'; /** * Modify the query based on the FILTER_QUERY_ARG variable in $_GET. * * @param string $where Query variables. * * @return string The modified query. */ abstract public function filter_posts( $where ); /** * Returns the query value this filter uses. * * @return string The query value this filter uses. */ abstract public function get_query_val(); /** * Returns the total number of posts that match this filter. * * @return int The total number of posts that match this filter. */ abstract protected function get_post_total(); /** * Returns the label for this filter. * * @return string The label for this filter. */ abstract protected function get_label(); /** * Registers the hooks. */ public function register_hooks() { add_action( 'admin_init', [ $this, 'add_filter_links' ], 11 ); add_filter( 'posts_where', [ $this, 'filter_posts' ] ); if ( $this->is_filter_active() ) { add_action( 'restrict_manage_posts', [ $this, 'render_hidden_input' ] ); } if ( $this->is_filter_active() && $this->get_explanation() !== null ) { add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_explanation_assets' ] ); } } /** * Adds the filter links to the view_edit screens to give the user a filter link. * * @return void */ public function add_filter_links() { foreach ( $this->get_post_types() as $post_type ) { add_filter( 'views_edit-' . $post_type, [ $this, 'add_filter_link' ] ); } } /** * Enqueues the necessary assets to display a filter explanation. * * @return void */ public function enqueue_explanation_assets() { $asset_manager = new WPSEO_Admin_Asset_Manager(); $asset_manager->enqueue_script( 'filter-explanation' ); $asset_manager->enqueue_style( 'filter-explanation' ); $asset_manager->localize_script( 'filter-explanation', 'yoastFilterExplanation', [ 'text' => $this->get_explanation() ] ); } /** * Adds a filter link to the views. * * @param array $views Array with the views. * * @return array Array of views including the added view. */ public function add_filter_link( array $views ) { $views[ 'yoast_' . $this->get_query_val() ] = sprintf( '<a href="%1$s"%2$s>%3$s</a> (%4$s)', esc_url( $this->get_filter_url() ), ( $this->is_filter_active() ) ? ' class="current" aria-current="page"' : '', $this->get_label(), $this->get_post_total() ); return $views; } /** * Returns a text explaining this filter. Null if no explanation is necessary. * * @return string|null The explanation or null. */ protected function get_explanation() { return null; } /** * Renders a hidden input to preserve this filter's state when using sub-filters. * * @return void */ public function render_hidden_input() { echo '<input type="hidden" name="' . esc_attr( self::FILTER_QUERY_ARG ) . '" value="' . esc_attr( $this->get_query_val() ) . '">'; } /** * Returns an url to edit.php with post_type and this filter as the query arguments. * * @return string The url to activate this filter. */ protected function get_filter_url() { $query_args = [ self::FILTER_QUERY_ARG => $this->get_query_val(), 'post_type' => $this->get_current_post_type(), ]; return add_query_arg( $query_args, 'edit.php' ); } /** * Returns true when the filter is active. * * @return bool Whether or not the filter is active. */ protected function is_filter_active() { return ( $this->is_supported_post_type( $this->get_current_post_type() ) && filter_input( INPUT_GET, self::FILTER_QUERY_ARG ) === $this->get_query_val() ); } /** * Returns the current post type. * * @return string The current post type. */ protected function get_current_post_type() { $filter_options = [ 'options' => [ 'default' => 'post' ], ]; return filter_input( INPUT_GET, 'post_type', FILTER_DEFAULT, $filter_options ); } /** * Returns the post types to which this filter should be added. * * @return array The post types to which this filter should be added. */ protected function get_post_types() { return WPSEO_Post_Type::get_accessible_post_types(); } /** * Checks if the post type is supported. * * @param string $post_type Post type to check against. * * @return bool True when it is supported. */ protected function is_supported_post_type( $post_type ) { return in_array( $post_type, $this->get_post_types(), true ); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка