use a string de consulta no URL para exibir o conteúdo na página


9

Gostaria de dizer algo na minha página com base na página em que a pessoa chegou lá. Posso configurar o link para essa página:

www.example.com/page?parameter=myparameter

Existe uma maneira de acessar esse parâmetro para que ele seja exibido na página, em algum lugar do meu conteúdo?


Desculpe, entendo que as respostas são exemplos, mas acho importante observar que elas não devem ser usadas como estão. A entrada do usuário (como os parâmetros da string de consulta) nunca deve ser repetida sem cancelamento para evitar ataques XSS ! Até agora, todas as respostas são vulneráveis ​​ao XSS e devem incluir pelo menos um aviso.
Kubi

Respostas:


4

Você pode usar uma sessão PHP, procurar no objeto de consulta a solicitação ou usar $ _GET com seu URL, mas não é para informações confidenciais ...

Algo assim;

Pegue o nome da viagem no URL

$tripname = $_GET['tripname'];

Use-o em seu cabeçalho;

if(isset($tripname)) echo '<h1>Plan Your Trip To ' .$tripname. '</h1>';


Obrigado! Esta informação não é sensível. Como eu faria isso?
user3515

Isso pode ajudá-lo: w3schools.com/php/php_get.asp
Dan

Obrigado! Posso colocar isso diretamente na página ou precisa entrar em um arquivo de modelo?
user3515

Depende de onde você precisa - se estiver sendo exibido apenas em uma página que é executada em um modelo, você a colocará lá. De onde vêm as informações e de onde elas acabam?
Dan

A história é a seguinte: tenho muitas 'páginas de viagem', cada uma com informações sobre uma determinada viagem que realizamos. Em seguida, eles clicam em "registrar" e os levam a uma página com um formulário de registro (gravity forms). Gostaria que a página (ou a descrição na parte superior do formulário) dissesse "Preencha este formulário para se registrar na viagem xxxx".
user3515

4

De acordo com a resposta do OP em sua pergunta:

Com sua ajuda e algumas pesquisas no Google, montei um código de acesso que retorna o valor de qualquer parâmetro de URL. Aqui está:

//THIS IS A CUSTOM SHORTCODE TO DISPLAY A PARAMETER FROM THE URL
function URLParam( $atts ) {  
    extract( shortcode_atts( array(
        'param' => 'param',
    ), $atts ) );
    return $_GET[$param];  
}
add_shortcode('URLParam', 'URLParam'); 

Eu uso o shortcode como este para obter o trip_typemeu URL:

[URLParam param='trip_type']

Isso me ajudou, obrigado! Como obtenho valores dos dados de postagem do formulário em vez da string de consulta?
Amjad 22/18

1

Aqui está outra ótima maneira de conseguir isso. Isso não exigirá códigos de acesso e atualizará automaticamente cada página criada onde o parâmetro "trip" estiver presente!

1) Navegue até a pasta do tema e abra o arquivo functions.php (ou crie-o, se estiver faltando)

2) Adicione o seguinte código e salve:

<?php 
    add_filter( 'the_content', 'my_trip_filter' );

    function my_trip_filter( $content ) {
        if ( isset($_REQUEST['trip']) && is_single() ) {
            $content = "<h1>Fill out this form to register for the " . $_REQUEST['trip'] . " trip</h1>" . $content;
        }

        return $content;

    }
?>

Esse código usa o filtro content_content para substituir cada vez que você usa a função the_content () para imprimir as informações do seu blog. Ele detecta se a página solicitada é ou não uma única página / postagem e não o arquivo morto. Lógicas ou substituições adicionais podem ser adicionadas a ele. Apenas certifique-se de devolver $ content e qualquer mensagem que você deseje retornará à tela.

Aproveitar!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.