Apakah ada cara untuk menambahkan .html
ekstensi ke jenis posting khusus tanpa plugin ?
Untuk posting saya bisa gunakan /%postname.html
pada pengaturan permalink
Untuk halaman saya bisa menggunakan:
add_action('init', 'change_page_permalink', -1);
function change_page_permalink() {
global $wp_rewrite;
if ( strstr($wp_rewrite->get_page_permastruct(), '.html') != '.html' )
$wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';
}
Untuk jenis pos kustom ???
Apakah ada kode yang mirip dengan kode di atas yang memungkinkan saya untuk mengubah atau menambahkan .html
url jenis posting kustom?
custom-post-types
permalinks
url-rewriting
urls
pengguna983248
sumber
sumber
function post-type_permalink
akan terjadi kesalahan. Jika Anda tidak menerima kesalahan ini, berarti ada yang salah dengan pengaturan debug Anda. Juga tolong ulang pertanyaan Anda dengan niat yang benar di telepon. Terima kasih./$postname.html
untuk posting, bagaimana saya bisa menggunakan yang sama untuk jenis posting kustom.-
tidak berfungsi dalam nama fungsi ...Jawaban:
Ini sepertinya berhasil:
Buat aturan menulis ulang seperti
post-type/post-name.html
. Anda dapat menggunakan array untuk membuat aturan hanya untuk beberapa set tipe posting alih-alih melakukannya untuk semuanya.Format struktur permalink baru untuk jenis posting ini.
Dan kemudian berhenti mengarahkan ulang URL kanonik untuk menghapus garis miring tambahan. Ini mungkin memerlukan beberapa pekerjaan lagi, karena Anda mungkin ingin menyimpan pengalihan untuk sebagian besar kasus.
Seperti yang orang lain katakan di sekitar sini, setelah melakukan hal di atas Anda harus menyiram aturan, dan itu mungkin dengan mengunjungi
options-permalink.php
halaman admin diDashboard -> Settings -> Permalinks
.sumber
wpse_59024_
(ID Pertanyaan) untuk menghindari konflik salinan / pasta;). . . Dan memiliki manfaat tambahan untuk mengetahui Jawaban mana yang dimiliki kode itu di pustaka cuplikan kami. . . . . +1 Tempat di!post_type_link
filterAnda dapat menambahkan aturan penulisan ulang untuk ini yang menggantikan permalink bawaan, misalnya untuk "produk" jenis pos kustom ...
(Jangan lupa untuk menyiram aturan Anda baik dengan menyimpan kembali permalink Anda atau menggunakan
flush_rules
cara @toscho note di atas).Peringatan
the_permalink()
akan menggunakan ini, jadi Anda mungkin harus menambahkan filter untukpost_link
menangkap tautan tersebut. Anda juga dapat menambahkan keredirect_canonical
filter untuk mengarahkan ulang permalink default, sehingga / product / foo dan / product / foo / redirect ke /product/foo.html.sumber
Jika Anda lebih suka plugin WordPress untuk menangani pekerjaan untuk Anda, lihat Permalink Jenis Posting Kustom di repositori plugin WordPress. Diuji pada WordPress 3.4.1 dan bekerja dengan sempurna.
Setelah mengaktifkan plugin, cukup arahkan ke Dashboard -> Pengaturan -> Permalinks. Anda dapat menambahkan penulisan ulang khusus untuk setiap jenis posting kustom terdaftar.
sumber
flush_rules()
harus dipanggil pada de / aktivasi hanya karena sangat lambat. Anda dapat memeriksa$GLOBALS['wp_rewrite']->rules
untuk melihat apakah aturannya sudah diketahui.