id) && $screen->id == 'edit-post'){ return $query; } if ( $query->is_category == true || $query->is_tag == true || $query->is_tax == true ) { $get_queried_object = @get_queried_object(); if(is_object($get_queried_object)){ if(!isset($get_queried_object->taxonomy)){ return $query; } if(!taxopress_show_all_cpt_in_archive_result($get_queried_object->taxonomy)){ return $query; } $get_taxonomy = get_taxonomy( $get_queried_object->taxonomy ); if(is_object($get_taxonomy)){ $post_types = $get_taxonomy->object_type; if ( isset( $query->query_vars['post_type'] )){ if(is_array( $query->query_vars['post_type'] )){ $post_types = array_filter(array_merge($query->query_vars['post_type'],$post_types)); }elseif(is_string( $query->query_vars['post_type'] )){ $original_post_type = $query->query_vars['post_type']; $get_post_type_object = get_post_type_object( $original_post_type ); if(is_object($get_post_type_object)){ if((int)$get_post_type_object->public === 0){ return $query; } } $post_types[] = $query->query_vars['post_type']; } $new_post_object = $post_types; }else{ $new_post_object = $post_types; } $query->query_vars['post_type'] = $new_post_object; } } } return $query; } /** * Taxonomy: Media Tags. */ public function simple_tags_register_media_tag() { if((int)get_option('taxopress_media_tag_deleted') === 0){ $labels = [ "name" => __( "Media Tags", "simple-tags" ), "singular_name" => __( "Media Tag", "simple-tags" ), "menu_name" => __( "Media Tags", "simple-tags" ), "all_items" => __( "All Media Tags", "simple-tags" ), "edit_item" => __( "Edit Media Tag", "simple-tags" ), "view_item" => __( "View Media Tag", "simple-tags" ), "update_item" => __( "Update Media Tag name", "simple-tags" ), "add_new_item" => __( "Add new Media Tag", "simple-tags" ), "new_item_name" => __( "New Media Tag name", "simple-tags" ), "parent_item" => __( "Parent Media Tag", "simple-tags" ), "parent_item_colon" => __( "Parent Media Tag:", "simple-tags" ), "search_items" => __( "Search Media Tags", "simple-tags" ), "popular_items" => __( "Popular Media Tags", "simple-tags" ), "separate_items_with_commas" => __( "Separate Media Tags with commas", "simple-tags" ), "add_or_remove_items" => __( "Add or remove Media Tags", "simple-tags" ), "choose_from_most_used" => __( "Choose from the most used Media Tags", "simple-tags" ), "not_found" => __( "No Media Tags found", "simple-tags" ), "no_terms" => __( "No Media Tags", "simple-tags" ), "items_list_navigation" => __( "Media Tags list navigation", "simple-tags" ), "items_list" => __( "Media Tags list", "simple-tags" ), "back_to_items" => __( "Back to Media Tags", "simple-tags" ), ]; $args = [ "label" => __( "Media Tags", "simple-tags" ), "labels" => $labels, "public" => true, "publicly_queryable" => true, "hierarchical" => false, "show_ui" => true, "show_in_menu" => true, "show_in_nav_menus" => true, "query_var" => true, "update_count_callback" => '_update_generic_term_count', "rewrite" => [ 'slug' => 'media_tag', 'with_front' => true, ], "show_admin_column" => false, "show_in_rest" => true, "rest_base" => "media_tag", "rest_controller_class" => "WP_REST_Terms_Controller", "show_in_quick_edit" => false, ]; register_taxonomy( "media_tag", [ "attachment" ], $args ); } } /** * Load translations */ public static function init_translation() { load_plugin_textdomain( 'simple-tags', false, basename( STAGS_DIR ) . '/languages' ); } /** * Register taxonomy post_tags for page post type * * @return void * @author WebFactory Ltd */ public static function init() { register_taxonomy_for_object_type( 'post_tag', 'page' ); } /** * Add page post type during the query * * @param WP_Query $query * * @return void * @author WebFactory Ltd */ public static function parse_query( $query ) { if(function_exists('get_current_screen')){ $screen = get_current_screen(); } if(isset($screen->id) && $screen->id == 'edit-post'){ return $query; } if ( $query->is_tag == true ) { if ( isset( $query->query_vars['post_type'] ) && is_array( $query->query_vars['post_type'] ) ) { $query->query_vars['post_type'][] = 'page'; }else{ $query->query_vars['post_type'] = array( 'post', 'page' ); } } } /** * Randomize an array and keep association * * @param array $array * * @return boolean */ public static function random_array( &$array ) { if ( ! is_array( $array ) || empty( $array ) ) { return false; } $keys = array_keys( $array ); shuffle( $keys ); $new = array(); foreach ( (array) $keys as $key ) { $new[ $key ] = $array[ $key ]; } $array = $new; return true; } /** * Build rel for tag link * * @return string */ public static function get_rel_attribut() { global $wp_rewrite; $rel = ( is_object( $wp_rewrite ) && $wp_rewrite->using_permalinks() ) ? 'tag' : ''; // Tag ? if ( ! empty( $rel ) ) { $rel = 'rel="' . $rel . '"'; // Add HTML Tag } return $rel; } /** * Format data for output * * @param string $html_class * @param string $format * @param string $title * @param string $content * @param boolean $copyright * @param string $separator * * @return string|array */ public static function output_content( $html_class = '', $format = 'list', $title = '', $content = '', $copyright = true, $separator = '', $div_class = '', $a_class = '' ) { if ( empty( $content ) ) { return ''; // return nothing } if ( $format == 'array' && is_array( $content ) ) { return $content; // Return PHP array if format is array } if ( is_array( $content ) ) { switch ( $format ) { case 'list' : $output = '