id ) ) { return $active_languages; } switch ( $screen->id ) { // check if we are on a group edit page and ad group translations are disabled. case 'advanced-ads_page_advanced-ads-groups': $translatable_taxonomies = $sitepress->get_translatable_taxonomies(); if ( ! is_array( $translatable_taxonomies ) || ! in_array( 'advanced_ads_groups', $translatable_taxonomies, true ) ) { return array(); } break; // check if Advanced Ads ad post type is translatable. case 'edit-advanced_ads': // overview page. case 'advanced_ads': // edit page. $translatable_documents = $sitepress->get_translatable_documents(); if ( empty( $translatable_documents['advanced_ads'] ) ) { return array(); } break; // always show all languages on Placements page. case 'advanced-ads_page_advanced-ads-placements': return array(); } return $active_languages; } /** * Wordpress SEO: remove attachments attached to ads from `/attachment-sitemap.xml`. * * @param array $url Array of URL parts. * @param string $type URL type. * @param obj $post WP_Post object of attachment. * @return array/bool Unmodified array of URL parts or false to remove URL. */ public function wordpress_seo_noindex_ad_attachments( $url, $type, $post ) { if ( 'post' !== $type ) { return $url; } static $ad_ids = null; if ( null === $ad_ids ) { $ad_ids = Advanced_Ads::get_instance()->get_model()->get_ads( array( 'post_status' => 'any', 'fields' => 'ids' ) ); } if ( isset( $post->post_parent ) && in_array( $post->post_parent, $ad_ids, true ) ) { return false; } return $url; } }