Portanto, isso pode parecer uma coisa muito servil, mas siga-me aqui.
Estou tentando adicionar alguma lógica através da pre_get_posts
ação. Este é o objeto WP_Query inteiro que me foi dado. (veja o final)
Coisas que considerei usar:
is_single()
- muito amplo.is_singular()
- muito cedo para usar isso, poisget_queried_object()
ainda não está definido.$query->single
propriedade - novamente muito ampla.$query->get('post_type')
- não definido, pois está usando aname
propriedade
é name
realmente o único indicador aqui?
WP_Query Object
(
[query] => Array
(
[page] =>
[name] => abcs-of-mental-health
)
[query_vars] => Array
(
[page] =>
[name] => abcs-of-mental-health
[error] =>
[m] => 0
[p] => 0
[post_parent] =>
[subpost] =>
[subpost_id] =>
[attachment] =>
[attachment_id] => 0
[static] =>
[pagename] =>
[page_id] => 0
[second] =>
[minute] =>
[hour] =>
[day] => 0
[monthnum] => 0
[year] => 0
[w] => 0
[category_name] =>
[tag] =>
[cat] =>
[tag_id] =>
[author_name] =>
[feed] =>
[tb] =>
[paged] => 0
[comments_popup] =>
[meta_key] =>
[meta_value] =>
[preview] =>
[s] =>
[sentence] =>
[fields] =>
[menu_order] =>
[category__in] => Array
(
)
[category__not_in] => Array
(
)
[category__and] => Array
(
)
[post__in] => Array
(
)
[post__not_in] => Array
(
)
[tag__in] => Array
(
)
[tag__not_in] => Array
(
)
[tag__and] => Array
(
)
[tag_slug__in] => Array
(
)
[tag_slug__and] => Array
(
)
[post_parent__in] => Array
(
)
[post_parent__not_in] => Array
(
)
)
[tax_query] =>
[meta_query] =>
[queried_object] =>
[queried_object_id] => 0
[post_count] => 0
[current_post] => -1
[in_the_loop] =>
[comment_count] => 0
[current_comment] => -1
[found_posts] => 0
[max_num_pages] => 0
[max_num_comment_pages] => 0
[is_single] => 1
[is_preview] =>
[is_page] =>
[is_archive] =>
[is_date] =>
[is_year] =>
[is_month] =>
[is_day] =>
[is_time] =>
[is_author] =>
[is_category] =>
[is_tag] =>
[is_tax] =>
[is_search] =>
[is_feed] =>
[is_comment_feed] =>
[is_trackback] =>
[is_home] =>
[is_404] =>
[is_comments_popup] =>
[is_paged] =>
[is_admin] =>
[is_attachment] =>
[is_singular] => 1
[is_robots] =>
[is_posts_page] =>
[is_post_type_archive] =>
[query_vars_hash] => f473ebf7f725c2627dc5fd9a1429f626
[query_vars_changed] =>
[thumbnails_cached] =>
)
pre_get_posts
(antes da execução da consulta)?is_page()
está definido nopre_get_posts
nível. Se for, e posso verificar sepost_type
não está definido em query_vars, acho que é o melhor possível. Tão quebrado.is_page
parece estar definido.Não sei se isso será útil:
Use $ wp_query-> posts (array) para verificar o tipo de post.
fonte
$wp_query->posts
variável seja realmente preenchida. Obrigado embora!Após alguns testes, infelizmente, é impossível obter o tipo de cpt post dentro do
pre_get_posts
gancho. Somenteis_page
trabalhos, mas não o tipo de postagem padrão nem o cpt, podem ser recuperados lá.Se você tiver apenas página e postagem (sem cpt), uma verificação
is_single()
comtrue
como resposta significa que o tipo de postagem é postagem, pois retorna falso para as páginas.Se você também possui CPTs, receio que você precise executar uma consulta adicional . O mais simples que posso pensar é obter a
post_type
coluna onde o status da postagem é publicado e post_name é o necessário (pulando as revisões):Se você deseja verificar um tipo de postagem específico, pode escrever uma tag condicional personalizada que apenas conte as linhas com um determinado post_type e o nome fornecido:
Claro que isso é necessário
pre_get_post
, em qualquer gancho posterior você pode usarget_post_type()
...fonte
É isso que estou usando, embora seja especializado em minha própria estrutura de diretórios.
A milhagem pode variar. Os bits strpos nos quais eu verifico que os arquivos estão em um diretório, mas não em outro, precisariam ser modificados para sua compilação e provavelmente poderiam ser re-fatorados com mais eficiência. Eles existem para cortar resultados acima e abaixo de uma determinada estrutura de diretórios.
Executar thelist () no rodapé fornecerá uma lista numerada de todos os arquivos de modelo .php usados para compilar a exibição atual. É especialmente útil ao lidar com um tema filho que está renderizando um componente misterioso.
fonte