Suporte » Desenvolvendo com WordPress » $post->ID não funciona

  • Resolvido vinicius.santoro

    (@viniciussantoro)


    Bom dia senhores.
    Estou mostrando apenas as sub-páginas de uma página e a elas atrelo uma imagem que está no custom field.
    Com o código abaixo, ele mostra as sub-páginas certinho, porém, não mostra a imagem de jeito nenhum, é como se ele não conseguisse pegar o post_ID na primeira parte do código.
    segue:
    <?php wp_list_pages('link_before=<span class="'.get_post_meta($post->ID, 'page_class', true).'"></span>&title_li=&child_of='.$post->ID.''); ?>

    O que pode ser? O child_of funciona mas a parte do span não!

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Criador do tópico vinicius.santoro

    (@viniciussantoro)

    Descobri o que está acontecendo mas ainda não descobri como resolver.
    Na verdade aquele post_id do span está funcionando, porém, ele está pegando o ID da página atual, e não da página filha que quero mostrar a imagem.

    Alguém sabe como pegar o ID do list pages?

    Talvez usando get_page_children ?

    Criador do tópico vinicius.santoro

    (@viniciussantoro)

    Resolvi meu problema parcialmente habilitando os menus personalizados (wp_nav_menu), porém continuo com uma dúvida. Não sei como aparecer o slug da página dentro da class da tag

    • <?php wp_nav_menu( array( 'menu' => 'MenuTopo', 'container_class' => 'container', 'items_wrap' => '<ul><li id="%1$s" class="SLUG-DA-PAGINA"></li>%3$s</ul>' ) ); ?>
    • Alguém sabe como fazer? Estou procurando material na Internet mas ainda não encontrei nada sobre isso.

    $post->ID não vai funcionar pq $post sempre se refere ao objeto do Loop atual e tanto wp_list_pages() quanto wp_nav_menu() não criam novos loops. Algumas outras funções disponibilizam essa info numa variável $post_id, mas acho que não é o caso.

    Talvez o ideal pra vc seja usar uma função intermediária, tipo get_pages() (usada pela wp_list_pages) ou wp_get_nav_menu_items() (usada pela wp_nav_menu) pra tratar esses dados antes de criar a lista.

    Criador do tópico vinicius.santoro

    (@viniciussantoro)

    Consegui resolver usando o wp_nav_menu e habilitando a classe nas opções de menu.

    Obrigado pelo auxílio de todos.

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘$post->ID não funciona’ está fechado para novas respostas.