Suporte » Plugins » Nova rota e página

  • Olá! Criei um plugin, agora queria criar uma nova rota contendo uma página personalizada criada por mim em PHP, mas não sei como fazer!

    Acredito que preciso criar uma rota que aponte para a minha página PHP, certo?

    Por exemplo: meusite.com.br/minha-pagina-personalizada

    Alguém pode me ajudar?

Visualizando 1 resposta (de um total de 1)
  • Rodrigo, essa página que pretende criar, não deve estar disponível no painel administrativo?

    Pergunto isso porque temos uma opção de criar páginas personalizadas no WordPress usando as Page Templates. Porém elas ficam disponíveis no painel administrativo como uma opção de Modelo para que as pessoas a utilizem.

    Uma opção para criar uma página personalizada, sem que o usuário tenha acesso pelo painel administrativo, normalmente uma página para exibir algum relatório ou informação externa, é criando uma página “virtual” (confesso que esse é o termo como chamo, não sei se é o correto).

    Para isso, tenho um gist que costumo usar, veja se é isso que precisa:

    <?php
    
    /**
     * 
     * Add virtual page on WordPress hierarchy
     * @link https://metabox.io/how-to-create-a-virtual-page-in-wordpress/
     * @link https://gist.github.com/everaldomatias/d290c00528ebf879ae987e6a28ecff46
     * 
     */
     
    add_filter( 'generate_rewrite_rules', function ( $wp_rewrite ){
        $wp_rewrite->rules = array_merge(
            ['example/(\w+)/?$' => 'index.php?exp=$matches[1]'],
            $wp_rewrite->rules
        );
    } );
    
    add_filter( 'query_vars', function( $query_vars ){
        $query_vars[] = 'exp';
        return $query_vars;
    } );
    
    add_action( 'template_redirect', function(){
        $exp = get_query_var( 'exp' );
        if ( $exp ) {
            include plugin_dir_path( __FILE__ ) . 'templates/example.php';
            die;
        }
    } );

    Observe que ‘example’ e ‘exp’ correspondem a página que pretende criar. E também o ‘plugin_dir_path( __FILE__ )’ é a função que vai apontar para a pasta onde o arquivo da sua página se encontra.

    Por fim, como estamos trabalhando com as URLs do site, lembre-se de acessar a página /Configurações/Links Permanentes para que o WP rode a função rewrite_rules().

    Veja se isso lhe ajuda e qualquer coisa retorna aqui.

Visualizando 1 resposta (de um total de 1)
  • Você deve estar conectado para responder a este tópico.