Criando arquivos de anexos em tags e categorias

Por esta questão ( Como criar um arquivo de anexos com paginação de trabalho? ), Usei a seguinte function para que as páginas de arquivo exibam anexos, bem como páginas e postagens. Estava trabalhando para as páginas de arquivo de categoria e categoria preexistentes, mas parou de funcionar há algumas semanas (possivelmente devido a uma atualização do WordPress, mas não percebi na época). Eu verifiquei, e as post_tag e category ainda estão registradas para anexos.

Este código ainda funciona para exibir anexos nas páginas de arquivamento de taxonomias personalizadas ( topic e training abaixo). Alguma idéia sobre o que mudou e o que mudar para que isso funcione de novo?

 add_action('parse_query', 'hijack_query'); function hijack_query() { global $wp_query; // When inside a custom taxonomy archive, include attachments AS WELL AS pages and posts. // Note that is_tax() returns false on category archives and tag archives. Use is_category() and is_tag() respectively when checking for category and tag archives. if (is_tax('topic') OR is_tax('training') OR is_tag() OR is_category()) { $wp_query->query_vars['post_type'] = array( 'attachment', 'page', 'post' ); $wp_query->query_vars['post_status'] = array( null ); return $wp_query; } } 

Solutions Collecting From Web of "Criando arquivos de anexos em tags e categorias"

A documentação do WP_Query no códice especificamente diz:

‘anexo’ – um anexo. Embora o padrão WP_Query post_status seja ‘publicar’, os anexos têm um post_status padrão de ‘herdar’. Isso significa que nenhum anexo será retornado, a menos que você também configure explicitamente post_status como “herdar” ou “qualquer”.

Não sei por que estava funcionando antes, porque esta não é uma mudança recente, mas parece que o post_status teria que ser “herdar” ou “qualquer” em vez de nulo.

Descobriu isso! O culpado foi o plugin “Adicionar Categorias às Páginas” que um dos meus editores adicionou ao site. Além de registrar post_tag e category para o tipo de publicação da page , ele também modificou as consultas archive.php e tag.php para exibir apenas os tipos de post e page — ainda outra solução para a questão de include postagens, páginas e anexos:

 // Add Page as a post_type in the archive.php and tag.php function category_and_tag_archives( $wp_query ) { $my_post_array = array('post','page'); if ( $wp_query->get( 'category_name' ) || $wp_query->get( 'cat' ) ) $wp_query->set( 'post_type', $my_post_array ); if ( $wp_query->get( 'tag' ) ) $wp_query->set( 'post_type', $my_post_array ); } 

E OUTRA COISA — certifique-se de visitar a página de opções de permalink (yoursite.com/wp-admin/options-permalink.php) depois de adicionar uma nova taxonomia. Salvar, mesmo sem fazer alterações, eliminará as regras de reescrita. Ver o novo arquivo de taxonomia retornará um 404 até então.