Categorias
Programação Wordpress

Como verificar se uma pagina existe no wordpress?

Por vezes precisamos de exibir conteúdo com base na existência de uma página ou em uma postagem personalizada não hierárquica por URL no WordPress. É importante lembrar que os tipos de postagem personalizados não são postagens. Eles não têm nenhuma relação direta com posts e você deve pensar neles separadamente…

Recorrendo á função get_page_by_path(), podemos verificar se existe uma página por url, ou verificar a existência de varias páginas ao mesmo tempo, vasta criarmos uma lista com os caminhos a verificar.

No exemplo, temos duas páginas diferentes para o mesmo slug de página, é assumido que determinadas páginas terão o mesmo título e apenas páginas pai diferentes. Então, queremos verificar se uma página existe por URL?

Nota Sobre a Hierarquia de Páginas e Slug’s: Se tiver uma hierarquia de páginas terá de passar o slug completo incluindo a página base para a função get_page_by_path().

$page_paths = array(
    'wordpress/caminho-de exemplo-a-verificar',
    'css/caminho-de exemplo-a-verificar'
);

foreach($page_paths as $page_path)
{
    $page = get_page_by_path($page_path);
    if(!$page){
        echo ''.$page_path.' Não existe.';
    } else{
        echo ''.$page_path.' Existe e resolve para: '.get_permalink($page->ID).'';
    }  
}

A função get_page_by_path() é bastante útil nesse caso, que recupera uma página dada a sua rota. Para verificar se existe uma postagem personalizada de tipos de postagem personalizados não hierárquicos por URL, teremos de fornecer o terceiro parâmetro á função, como pode ser conferido na documentação oficial do WordPress: função get_page_by_path().



Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *