gunakan string kueri dalam URL untuk menampilkan konten pada halaman


9

Saya ingin mengatakan sesuatu di halaman saya berdasarkan pada halaman apa orang itu sampai. Saya dapat mengatur tautan ke halaman itu menjadi:

www.example.com/page?parameter=myparameter

Apakah ada cara saya dapat mengakses parameter itu sehingga saya dapat menampilkannya di halaman, di suatu tempat di konten saya?


Maaf saya mengerti bahwa jawabannya adalah contoh, tetapi saya merasa penting untuk dicatat bahwa mereka tidak boleh digunakan apa adanya. Input pengguna (seperti parameter string kueri) tidak boleh digaungkan tanpa disanitasi untuk mencegah serangan XSS ! Semua jawaban sejauh ini rentan terhadap XSS dan setidaknya harus menyertakan peringatan.
kubi

Jawaban:


4

Anda dapat menggunakan sesi PHP, mencari di objek permintaan untuk permintaan, atau menggunakan $ _GET dengan url Anda, tetapi itu bukan untuk informasi sensitif ...

Sesuatu seperti ini;

Rebut nama perjalanan dari URL

$tripname = $_GET['tripname'];

Gunakan itu di pos Anda;

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


Terima kasih! Ini bukan info sensitif. Bagaimana saya bisa melakukan itu?
user3515

Ini mungkin membantu Anda: w3schools.com/php/php_get.asp
Dan

Terima kasih! Bisakah saya letakkan itu langsung ke halaman, atau apakah perlu masuk ke file template?
user3515

Tergantung di mana Anda membutuhkannya - jika itu hanya ditampilkan pada halaman yang berjalan pada satu template, Anda akan meletakkannya di sana. Dari mana informasi itu berasal, dan di mana akan berakhir?
Dan

Ceritanya seperti ini: Saya punya banyak 'halaman perjalanan', yang masing-masing memiliki informasi tentang perjalanan tertentu yang kami jalankan. Kemudian, mereka mengklik "daftar", dan itu membawa mereka ke halaman dengan formulir pendaftaran (bentuk gravitasi). Saya ingin halaman (atau deskripsi di atas formulir) untuk mengatakan "Isi formulir ini untuk mendaftar untuk perjalanan xxxx".
user3515

4

Per jawaban OP dalam pertanyaan mereka:

Dengan bantuan Anda dan beberapa Googling, saya membuat kode pendek yang mengembalikan nilai parameter url apa pun. Ini dia:

//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'); 

Saya menggunakan kode pendek seperti ini untuk mendapatkan trip_typedari URL saya:

[URLParam param='trip_type']

Ini membantu saya, terima kasih! Bagaimana cara mendapatkan nilai dari data postingan alih-alih string kueri?
Amjad

1

Berikut cara lain yang bagus untuk mencapai ini. Ini tidak memerlukan kode pendek dan secara otomatis akan memperbarui setiap halaman yang Anda buat di mana terdapat parameter "trip"!

1) Navigasikan ke folder tema Anda dan buka functions.php (atau buat jika hilang)

2) Tambahkan kode berikut dan simpan:

<?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;

    }
?>

Kode ini menggunakan filter the_content untuk menggantikan setiap kali Anda menggunakan fungsi the_content () fungsi untuk mencetak informasi blog Anda. Ini mendeteksi apakah halaman yang diminta adalah satu halaman / posting dan bukan arsip. Logika atau penggantian tambahan dapat ditambahkan ke dalamnya. Pastikan Anda mengembalikan $ content dan pesan apa pun yang Anda inginkan akan dikembalikan ke layar.

Nikmati!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.