Bagian dari pekerjaan saya adalah membuat situs web Wordpress. Saya biasanya mengerjakan laptop saya sampai saya memiliki sesuatu yang cukup bagus untuk diunggah ke server uji tempat klien meninjaunya.
Saya membuat VirtualHost untuk setiap proyek baru jadi saya selalu bekerja dengan instalasi Wordpress di domain yang terlihat seperti http://local.example.com/
, tetapi ketika situs diunggah ke server uji (tidak dikendalikan oleh saya), domain tersebut mungkin berakhir seperti sesuatu http://testserver.com/arbitrary/path/example/
.
Masalahnya adalah jika saya menambahkan tautan khusus ke menu yang menunjuk, misalnya, /events/
itu akan berfungsi dengan baik secara lokal membuat tautan http://local.example.com/events/
, tetapi di server pengujian, tautan tersebut akan mengarah ke http://testserver/events/
, yang jelas tidak benar.
Yang saya inginkan adalah memberikan tautan khusus URL yang akan berfungsi baik pada lingkungan lokal saya dan server pengujian.
Saya sudah menangani masalah mengubah opsi home
dan siteurl
Wordpress dengan:
- mengubah pengaturan tersebut pada database lokal
- membuat dump dari database
- perbarui database di server
- mengembalikan opsi lokal.
Saya tidak ingin menggunakan URL lengkap untuk tautan khusus dan harus menggantinya dengan URL server setiap kali saya perlu memperbarui database server.
Untuk tautan di dalam konten tulisan, ada sebuah plugin yang memecahkan masalah dengan menambahkan dua shortcode: http://wordpress.org/extend/plugins/url-shortcodes/ , tapi saya belum dapat menemukan sesuatu yang serupa untuk Tautan Kustom .
Jawaban:
Saya juga mencari solusi untuk ini dan saya menemukan yang sederhana.
Inilah yang perlu Anda tempatkan di bidang URL:
Ini bekerja dengan baik!
Salam, Chris
sumber
Anda dapat menggunakan
nav_menu_link_attributes
filter untuk memeriksa dan memodifikasi atribut href untuk setiap item menu sebelum hasilnya.Dalam contoh ini, kami mencari atribut href yang diawali dengan a
/
, dan menambahkan URL situs uji dalam hal itu:Anda bisa membuat plugin sederhana dengan kode ini dan mengaktifkannya hanya di server pengujian Anda, atau membuat semacam flag yang secara kondisional menerapkan filter ini ketika lingkungan situs pengujian hadir.
sumber
Menggunakan
<base href=" ">
tag di meta kepala akan memberikan url dasar ke semua jangkar relatif di halaman.Referensi:
https://www.w3.org/TR/html4/struct/links.html
12.4 Informasi jalur: elemen BASE
Tautan khusus relatif di wordpress:
Jika Anda ingin url situs menjadi url dasar semua jangkar, tambahkan ini ke tema / header.php di dalam
<head>
:<base href="<?php echo site_url(); ?>/">
saya tahu bisa terlambat untuk Anda tetapi bisa membantu orang lain.
sumber
ehepperle.com/sites/in-progress/some-wp-site-root/
kecuali jika Anda secara eksplisit mengatur root situs. Kecepatan pengembangan web tidak meningkat secara signifikan menggunakanbase
tag, karena ketika Anda bermigrasi ke situs lain, Anda harus mendefinisikan kembali apa itu basis. Namun, saya bisa melihat nilai dalam mengurangi panjang nilai href.Pada URL khusus dalam pengaturan Menu dimungkinkan untuk menggunakan tautan relatif ke [blogurl]. Rahasianya adalah memulai URL relatif dengan satu
/
. Ketika satu / memulai URL khusus, sistem tidak akan menambahkan awal khashttp://
dan kemudian blogURL saat ini akan dihasilkan dalam URL target pada waktu eksekusi.CONTOH
Jika Anda ingin membuka beranda, cukup cantumkan
/
sebagai URL khususJika Anda ingin pergi ke halaman indeks di folder
bbforums
kemudian masukkan/bbforums
sebagai URL khusus.Ini memungkinkan Anda untuk memindahkan situs ke domain uji coba tanpa harus menyulitkan blogURL baru di semua tautan khusus untuk menu.
Sebagai Contoh:
Jika blog saya
http://example.com
dan saya ingin mengujinya di subdomainhttp://test.example.com
situs dapat dipindahkan antara pengujian dan produksi tanpa masalah menu menggunakan konvensi URL relatif yang disebutkan di atas. Saya telah berhasil menguji pendekatan ini menggunakan plugin XCloner untuk memindahkan situs.sumber
Pertama, Anda harus menginstal plugin ini untuk shortcode URL.
Tambahkan kode ini ke
functions.php
file Anda di tema Anda:Maka Anda harus memanggil
wp_nav_menu
fungsi dari file template:Itu dia. Lalu pergi ke bagian menu back-end.
Misalnya, jika saya ingin memberikan URL halaman ke tautan khusus, saya akan menambahkannya seperti ini:
Sekarang Anda dapat pergi ke front-end dan memeriksa apakah kode pendek berfungsi.
sumber