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?

user3515
sumber
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>';

Dan
sumber
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']
Ethan Jinks O'Sullivan
sumber
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!

Plugin WordPress
sumber