InsideDarkWeb.com

Abrir POST em arquivo php

Por padrão sei que posso listar alguns artigos wordpress em uma página externa em php usando um “require(‘../../wp-blog-header.php’);”.

Porém ao clicar em um desses artigos ele vai para página padrão que abre o Post completo.

Minha dúvida é a seguinte:

Como faço para que o POSt completo seja aberto em um arquivo (Ex. Postcompleto.php”) separado, ao invés de abrir na single.php ?

One Answer

Você pode usar o método de incluir require('../../wp-blog-header.php'); para carregar qualquer conteúdo. O que muda é a forma como você chama o conteúdo dentro do seu arquivo externo.

Por padrão quando você incluir wp-blog-header.php ele vai carregar todo o back-end do WordPress com os parâmetros básicos, ou seja, ele carrega a página inicial. Daí pra frente ele vai obedecer o que estiver no seu arquivo, então você pode criar uma segunda query pra pegar o conteúdo que te interessa:

// Pra buscar um arquivo de posts do tipo "artigos"
$query = new WP_Query( array( 'post_type' => 'artigos' /* etc */ ) );
if ( $query->has_posts() ) : 
    while ( $query->has_posts() ) : 
        $query->the_post();
        // exibe as informações aqui
    endwhile;
endif;

-

// Pra buscar um post pelo ID
$single = get_post( $id );
echo $single->post_title; // imprime o título

Agora, pra lincar de dentro do seu arquivo de posts para o php externo você provavelmente vai ter que filtrar as URLs que estão sendo exibidas. Algo assim é um caminho, mas existem outros dependendo do seu caso específico:

// em functions.php
add_filter( 'post_link', 'altera_link' ); // posts
add_filter( 'page_link', 'altera_link' ); // pages
add_filter( 'post_type_link', 'altera_link' ); // custom post types
function altera_link( $link ) {
    // altera os links de 'example.com' para 'domain.com';
    return str_replace( 'example.com', 'domain.com', $link );
}

mas: carregar wp-blog-header.php em geral é má ideia.

Eu pensaria bem na arquitetura desse sistema porque existem jeitos melhores de não usar o sistema de templates do WP, se esse é o caso. Existem wrappers pra frameworks PHP (tipo Corcel), ou mesmo pra front-ends em javascript (tipo NodeifyWP) e existe o bom e velho Ajax pra puxar só o conteúdo que você quer.

Answered by Ricardo Moraleida on November 19, 2021

Add your own answers!

Related Questions

Salvar um array vindo do formulario no banco de dados

1  Asked on December 8, 2020 by pablo-pereira

   

Mudar cor e estilo da fonte do Listview nao funciona

1  Asked on December 8, 2020 by wilfer

 

Devo alocar o membro da estrutura data também?

3  Asked on December 8, 2020 by jaime38130

     

Programa não compila com erros diversos

1  Asked on December 8, 2020 by drd0spy

   

FullPage.js + class=”section”

1  Asked on December 8, 2020 by fabio-souza

       

Erro na compilação: expected ‘;’ before ‘case’

1  Asked on December 3, 2020 by entayrer_programer

   

Menu no módulo Tkinter Python

1  Asked on December 2, 2020 by antnio-gally

       

Deixar o vídeo ocupando 100% da tela com altura fixa

1  Asked on December 2, 2020 by felipe-henrique

   

Calculadora com inputs usando DOM

1  Asked on December 2, 2020 by ash

 

Como retirar caractere especial da classe obtida de um texto?

1  Asked on December 1, 2020 by kim-hanneman

   

Delphi – Recuperar código no DBGrid apos cadastro

0  Asked on November 30, 2020 by ederson-silva

   

Subtrair extrair meses entre duas datas em javascript

1  Asked on November 30, 2020 by evandro-csar

     

Tamanho de um ArrayList

1  Asked on November 30, 2020 by jbarbosa

   

C# Criptografia de senhas

0  Asked on November 30, 2020 by eric-jhon

     

Consegui pesquisar mais 1 query no banco de dados com PHP

1  Asked on November 28, 2020 by roberto-pereira

       

variável do Javascript no template do Django

1  Asked on November 28, 2020 by raphael-melo-de-lima

         

Ask a Question

Get help from others!

© 2021 InsideDarkWeb.com. All rights reserved.