Cara memanggil fungsi dari fungsi php wordpress

  • Blog
  • Tutorial
  • Panduan Utama untuk

Logo WPMU DEV Panduan Utama untuk fungsi WordPress. Berkas php

Cara memanggil fungsi dari fungsi php wordpress
Rachel McCollin Rachel McCollin   – 29 Maret 2022

Panduan Utama untuk fungsi WordPress. File php

Jika Anda sudah mulai membuat tema Anda sendiri, atau mungkin bahkan membuat tema turunan untuk menyesuaikan tema lain, Anda akan mempelajari semua tentang file template dan hierarki template tema. Tapi bagaimana dengan fungsi tema. file php?

File fungsi adalah tempat Anda meletakkan semua fungsionalitas yang dibutuhkan tema Anda yang tidak hanya terkait dengan satu template, jadi bukan kode yang hanya menampilkan satu jenis konten atau konten hanya di satu tempat di halaman seperti sidebar

Codex WordPress mendefinisikan file fungsi seperti ini

File fungsi berfungsi seperti Plugin WordPress, yang menambahkan fitur dan fungsionalitas ke situs WordPress. Anda dapat menggunakannya untuk memanggil fungsi, baik PHP maupun WordPress bawaan, dan untuk menentukan fungsi Anda sendiri. Anda dapat menghasilkan hasil yang sama dengan menambahkan kode ke Plugin WordPress atau melalui file fungsi Tema WordPress

Penting untuk diperhatikan kesamaan antara file fungsi dan file plugin. Anda menggunakan file fungsi untuk jenis kode yang sama dengan yang Anda tambahkan ke plugin;

Tapi itu bukan ide yang bagus

Jika Anda memiliki banyak kode fungsional yang perlu Anda gunakan di situs Anda, atau Anda ingin kode itu tetap berfungsi jika Anda mengubah tema, maka Anda harus memasukkannya ke dalam sebuah plugin. Tetapi jika kode itu bergantung pada tema, maka berfungsi. php adalah tempat yang tepat untuk meletakkannya. Aturan umumnya adalah

Gunakan fungsi. php saat Anda perlu menambahkan fungsionalitas sederhana yang terkait dengan cara konten Anda ditampilkan (mis. e. itu tidak akan berfungsi tanpa tema Anda diaktifkan). Ini mungkin termasuk menambahkan font tambahan, misalnya

Tulis plugin saat fungsinya lebih kompleks atau saat fungsi tambahan tidak bergantung pada tema. Contohnya adalah mendaftarkan jenis posting – Anda tidak ingin kehilangan jenis posting jika Anda mengubah tema di masa mendatang

Dalam posting ini, saya akan membawa Anda melalui beberapa penggunaan fungsi. php, dan tunjukkan cara menambahkan kode ke dalamnya dan cara mengaktifkan kode itu. Saya juga akan menunjukkan cara menggunakan fungsi. php dalam tema anak untuk mengganti atau menambahkan fungsionalitas ke tema induk

Kami akan membahasnya

Penggunaan Umum untuk File Fungsi

Ingatlah bahwa file fungsi adalah untuk kode yang bergantung pada tema (mis. e. yang akan hilang jika Anda mengganti tema), ada beberapa contoh khusus saat menambahkan kode ke dalamnya sangat berguna. Ini termasuk

  • Menambahkan dukungan tema, misalnya untuk gambar unggulan, format posting, dan tautan RSS
  • Memberi tahu WordPress di mana file terjemahan tema berada
  • Mendaftarkan lokasi untuk menu navigasi, sehingga pengguna dapat menambahkan menu melalui layar admin menu
  • Menambahkan, menghapus, atau mengesampingkan fungsionalitas dari tema induk, menggunakan tema anak

Dalam posting ini, saya akan menunjukkan kepada Anda bagaimana melakukan setiap hal ini

Menambahkan Kode ke File Fungsi dan Mengaktifkannya

Anda menambahkan kode ke file fungsi dan memberi tahu WordPress untuk mengaktifkannya dengan cara yang persis sama seperti yang Anda lakukan dengan plugin. Metode termasuk

  • Menulis fungsi yang kemudian Anda panggil di file template tema Anda – ini berguna ketika Anda memiliki blok kode yang ingin Anda gunakan di banyak tempat pada tema Anda tetapi tidak akan berfungsi di bagian template
  • Mengaitkan fungsi Anda ke pengait tindakan atau filter. Ini menjalankan fungsi ketika WordPress menemukan pengait itu. WordPress sendiri menyediakan ratusan pengait, dan Anda mungkin juga menemukan beberapa di tema dan plugin Anda yang dapat Anda gunakan. Ingat, jika Anda menulis sesuatu dalam fungsi. php yang ingin Anda aktifkan melalui pengait di tema yang telah Anda beli atau unduh dari direktori plugin WordPress, maka Anda perlu membuat tema anak untuk melakukannya. Jika tidak, file fungsi Anda akan ditimpa saat berikutnya Anda memperbarui tema
  • Membuat kode pendek yang kemudian Anda tambahkan ke konten Anda. Saya tidak akan merekomendasikan menambahkan kode pendek melalui file fungsi – lebih baik melakukannya menggunakan plugin, sehingga keluaran konten oleh kode pendek itu tidak hilang jika Anda mengganti tema di masa mendatang. , Ini juga berarti Anda dapat menggunakan plugin itu di situs lain, memberi Anda akses ke kode pendek Anda berulang kali
  • Membuat gawit. Merupakan praktik yang buruk untuk melakukan ini di file fungsi;

Anda dapat mengetahui bagaimana melakukan masing-masing di panduan kami untuk membuat plugin

Jadi mari kita lihat bagaimana Anda bekerja dengan fungsi. php, dan bagaimana Anda menambahkan beberapa fungsi paling umum ke dalamnya

Membuat File Fungsi

Jika tema Anda belum memiliki file fungsi, Anda harus membuatnya. Buat file baru di direktori utama tema dan beri nama fungsi. php

Anda harus menambahkan tag PHP pembuka ke file tetapi Anda tidak memerlukan tag penutup

Memuat intinya 67f041de5d6ea537027ad6da0d9103ff

File fungsi Anda kini siap untuk ditambahkan kode Anda. Saya cenderung menambahkan blok besar teks yang dikomentari sebelum setiap bagian, jadi saya dapat dengan mudah menemukan kode saya lagi. Sesuatu seperti ini

Memuat intinya be82e35844b18d837f5790a27c769389

Dengan begitu, saat memindai file, saya dapat dengan mudah menemukan setiap blok kode

Menambahkan Kode yang Biasa Digunakan ke fungsi. php

Mari kita lihat beberapa penggunaan paling umum untuk file fungsi, dan cara mengkodekannya

Menambahkan Dukungan Tema

Ada fitur tertentu di WordPress yang harus Anda tambahkan dukungan tema agar tema Anda dapat memanfaatkannya. Ini adalah

  • Format posting – format seperti tumblr seperti standar, video, kutipan, dan samping
  • Posting thumbnail – juga dikenal sebagai gambar unggulan. Jika Anda ingin menampilkan ini di tema Anda, Anda juga harus menambahkan kode untuk menampilkannya ke file template Anda, tetapi kode tersebut tidak akan tersedia di layar admin kecuali Anda menambahkan dukungan tema untuknya.
  • Latar belakang khusus – memungkinkan Anda (atau orang lain yang menggunakan tema Anda) menyesuaikan gambar dan warna latar belakang melalui penyesuai
  • Tajuk khusus – yang bekerja dengan cara yang mirip dengan latar belakang khusus
  • Tautan umpan otomatis – untuk umpan RSS
  • HTML5 – untuk formulir pencarian, komentar, galeri, dll. Ini tidak memengaruhi kemampuan Anda untuk membuat kode tema menggunakan HTML5, tetapi terkait dengan kode yang dibuat oleh WordPress
  • Tag judul – ini memungkinkan Anda menambahkan tag judul di <head> halaman Anda untuk tujuan SEO dan aksesibilitas. Anda tidak akan memerlukan ini jika Anda memiliki plugin SEO yang melakukan ini untuk Anda

Jadi untuk menambahkan dukungan tema untuk format postingan, misalnya, Anda menggunakan fungsi add_theme_support() di file fungsi Anda

Memuat intinya fe264851131411e93ef1ee85315d985f

Beberapa fitur yang Anda tambahkan dukungan tema memiliki parameter tambahan;

Memuat intinya be93d67bf83ff7f6294d308118c445bb

Dan untuk gambar unggulan, Anda dapat menentukan jenis posting mana yang ingin Anda tambahkan dukungannya

Memuat intinya 4608297ea85921f13901039e7e39f96c

Tapi semua ini tidak akan berhasil kecuali Anda menempatkan kode Anda di dalam fungsi yang kemudian Anda lampirkan ke pengait yang benar, yaitu pengait tindakan after_setup_theme. Anda dapat menambahkan semua fungsi add_theme_support()_ Anda di dalam satu fungsi yang lebih besar yang kemudian Anda kaitkan ke after_setup_theme. Jadi jika Anda ingin menambahkan dukungan tema untuk thumbnail posting, format posting, HTML5 dan tautan umpan otomatis, Anda menambahkan ini ke file fungsi Anda

Memuat intinya eb467fc962925be2ea030e277ad815c6

Perhatikan bahwa saya telah menambahkan teks komentar di atas setiap item yang telah saya tambahkan dukungan temanya, jadi jika saya atau orang lain kembali ke file nanti, akan mudah untuk melihat apa yang terjadi

Menambahkan File Terjemahan

Jika orang yang tidak berbicara bahasa Anda cenderung bekerja di situs Anda atau menggunakan tema Anda, sebaiknya siapkan terjemahan tema Anda. Ini tidak memengaruhi ujung depan situs Anda yang dilihat pengunjung, tetapi layar admin yang akan dilihat pengguna Anda. Terjemahan berarti bahwa setiap teks yang Anda tambahkan ke layar admin melalui tema Anda akan diterjemahkan menggunakan file terjemahan

Anda memberi tahu WordPress tempat file terjemahan tema menggunakan fungsi load_theme_textdomain() di file fungsi Anda, seperti itu

Memuat intinya b4c708c0ab8798009c201a0bfe1919be

Ini menggunakan fungsi get_template_directory()_ untuk menemukan direktori tema, dan kemudian mencari file yang diawali dengan wpmu-theme di subdirektori bahasa, jadi jalurnya adalah wp-content/themes/mytheme/languages/dan nama file dari file bahasa akan dimulai dengan wpmu-theme diikuti dengan kode untuk bahasa

Jika Anda perlu menyiapkan terjemahan tema Anda, Anda harus melakukan lebih dari sekadar memuat domain teks ini – panduan lengkap kami untuk menerjemahkan plugin juga berlaku untuk tema dan memberi tahu Anda semua yang perlu Anda ketahui

Mendaftarkan Menu Navigasi

Hal lain yang Anda lakukan di file fungsi Anda adalah mendaftarkan lokasi untuk menu navigasi. Jika Anda terbiasa bekerja dengan tema pihak ketiga, Anda akan melihat bahwa banyak dari mereka memiliki kotak centang Navigasi Utama yang dapat Anda pilih di layar admin Menu, memungkinkan Anda menambahkan menu yang Anda buat ke lokasi tersebut dalam tema. Jika Anda ingin pengguna dapat melakukan ini di tema Anda, Anda harus menggunakan fungsi add_theme_support()0

Memuat intinya 8776d701d970f297e2e65d9d7ac83c27

Ini mendaftarkan satu lokasi menu, yang akan ditampilkan di layar admin sebagai Navigasi Utama, dan yang ID-nya utama. Anda kemudian menggunakan ID tersebut untuk menampilkan menu di header tema Anda. file php

Perhatikan bahwa saya telah menyiapkan terjemahan nama menu saya dalam kode di atas, jadi siapa pun yang menggunakan tema saya yang bekerja dalam bahasa selain bahasa Inggris akan memiliki teks "Navigasi Utama" yang diterjemahkan untuk mereka menggunakan file terjemahan saya

Anda juga dapat menggunakan fungsi ini untuk mendaftarkan beberapa lokasi menu navigasi. Kode di bawah mendaftarkan menu utama, ditambah menu tambahan di sidebar

Memuat intinya 87e0f124ef49808ddb1112f8f1a8932c

Sekali lagi, Anda perlu mengkodekan menu ke file add_theme_support()1 tema Anda, menggunakan fungsi add_theme_support()2

Menarik Semuanya Bersama-sama

Mata elang di antara Anda akan melihat bahwa semua fungsi yang saya berikan di atas diaktifkan melalui kait tindakan yang sama. after_setup_theme. Ini berarti bahwa alih-alih menulis beberapa fungsi terpisah, Anda dapat menambahkan semuanya ke satu fungsi di dalam functions.php Anda. php dan kemudian aktifkan menggunakan action hook

Anda ingin mereka memiliki satu fungsi besar

Memuat intinya a19ff072e61829a3dc080dda04754cd5

Saya telah menambahkan banyak komentar di dalam fungsi saya sehingga saya tahu apa yang terjadi di mana. Ini akan mempermudah jika saya perlu mengedit atau mengganti fungsi di masa mendatang

Termasuk File

Terkadang Anda akan menemukan file fungsi Anda menjadi lebih besar daripada yang dapat Anda kelola dengan nyaman, dan memiliki blok kode yang ingin Anda simpan secara terpisah. Jika ini terjadi, sebaiknya buat file terpisah, yang disebut file penyertaan, untuk kode tersebut, lalu panggil dari file fungsi Anda

Buat folder di tema Anda bernama add_theme_support()_4 lalu buat file php baru untuk setiap blok kode yang ingin Anda pisahkan. Jadi jika saya ingin memindahkan pengaturan tema ke file lain, misalnya, saya memindahkan semua kode di atas ke dalam file bernama add_theme_support()5 dan kemudian memanggilnya di file fungsi saya

Memuat intinya 8add93e25e264685d0d62ffa01ca28ad

Ini memanggil kode dalam file sertakan dan menjalankannya di tempat di file fungsi tempat saya menambahkan fungsi add_theme_support()6 itu. Saya cenderung meletakkan semua penyertaan saya di awal file fungsi sehingga mudah ditemukan, sekali lagi dengan komentar untuk memberi tahu saya apa fungsinya

Bekerja dengan Tema Induk dan Anak

File fungsi bisa sangat berguna saat Anda bekerja dengan tema induk dan anak. Dalam tema anak, Anda dapat menggunakan file fungsi untuk mengganti atau menghapus fungsi dari tema induk atau menambahkan yang baru milik Anda sendiri

Ada tiga cara untuk mengganti atau menambahkan fungsi dalam tema anak

  • Buat versi baru fungsi yang dapat dicolokkan
  • Nonaktifkan fungsi dari tema induk
  • Tambahkan fungsi Anda sendiri, gunakan prioritas untuk menimpa fungsi tema induk

Mari kita lihat sekilas masing-masing secara bergantian

Fungsi Pluggable

Jika Anda bekerja dengan tema induk yang dikodekan dengan baik atau kerangka kerja tema yang dirancang untuk digunakan sebagai tema induk, kemungkinan fungsi dalam file fungsinya dapat dicolokkan

Anda dapat dengan mudah menemukan tema yang dapat dicolokkan, karena akan dibungkus dengan tag bersyarat untuk memeriksa apakah fungsi tersebut sudah ada, seperti ini

Memuat intinya 5c64a5a9c2e34dc999150120cac32bd6

Karena fungsi dari tema anak berjalan sebelum fungsi dari tema induk, ini berarti bahwa jika Anda membuat fungsi dengan nama yang sama di tema anak Anda, WordPress tidak akan menjalankan fungsi dari tema induk. Jadi untuk mengganti tema induk, buat saja fungsi Anda sendiri dengan nama yang sama di file fungsi tema anak Anda

Menonaktifkan Fungsi

Untuk menonaktifkan suatu fungsi, Anda melepaskannya dari action atau filter hook yang melekat padanya. Jadi jika tema induk Anda memiliki fungsi yang disebut add_theme_support()7 yang diaktifkan melalui kait add_theme_support()8, Anda menonaktifkannya di tema anak Anda seperti itu

Memuat intinya de3832788b1046e1afadb6735bee9b67

Ini berarti bahwa fungsi induk tidak akan berjalan lagi. Anda kemudian dapat menulis fungsi baru jika Anda menginginkan fungsi yang berbeda di tema anak Anda – lampirkan ke pengait yang sama tetapi jangan beri nama yang sama

Catatan. Jika fungsi induk memiliki parameter prioritas dalam fungsi add_theme_support()9 yang menjalankan fungsi yang ingin dinonaktifkan,  Anda harus menyertakan prioritas yang sama saat menonaktifkannya. Saya akan membahas prioritas di bagian selanjutnya

Menggunakan Prioritas Fungsi

Opsi terakhir adalah membuat fungsi baru dengan prioritas lebih tinggi daripada fungsi yang ingin Anda ganti, artinya fungsi akan dijalankan setelah fungsi tersebut. Anda harus melakukan ini karena secara default WordPress akan menjalankan fungsi dari tema anak Anda terlebih dahulu;

Jadi katakanlah tema induk Anda memiliki fungsi yang disebut add_theme_support()7, yang diaktifkan melalui kait add_theme_support()8 dengan prioritas after_setup_theme2

Memuat intinya 196e27e1af7550899ecb03110588523e

Anda bisa menulis fungsi yang menimpanya dan kemudian melampirkannya ke add_theme_support()8 hook dengan prioritas lebih tinggi, seperti after_setup_theme4

Memuat intinya edf9249be7bbe47e45d8d0ba416f9bc6

Perhatikan bahwa jika fungsi induk belum memiliki prioritas yang ditetapkan, maka akan menggunakan default yaitu 10. Jadi, Anda dapat menggunakan apa pun yang lebih tinggi dari 10 untuk fungsi anak Anda guna memastikannya berjalan setelah fungsi induk

File Fungsi adalah Teman Anda

File fungsi tema bekerja dengan cara yang sangat mirip dengan plugin, tetapi khusus untuk tema Anda. Jadi sebaiknya Anda hanya menggunakannya untuk menambahkan fungsionalitas yang tidak ingin hilang jika nanti Anda beralih tema, atau yang tidak ingin Anda gunakan di  situs lain. Dalam posting ini Anda telah mempelajari untuk apa file fungsi digunakan serta bagaimana menerapkan beberapa dari penggunaan tersebut. Perlakukan file fungsi Anda dengan hati-hati, hindari menggunakannya sebagai pengganti plugin, dan ini akan membantu Anda dalam pengembangan tema

Bagaimana Anda menggunakan file fungsi?

Bagaimana cara memanggil fungsi dari fungsi PHP di WordPress?

Anda memiliki tiga opsi untuk ini. .
Kode fungsi langsung ke file template tema Anda (atau file plugin lain)
Lampirkan ke kait tindakan
Pasangkan ke pengait filter

Bisakah Anda memanggil fungsi di dalam fungsi PHP?

Jika Anda mendefinisikan fungsi di dalam fungsi lain, fungsi tersebut dapat diakses secara langsung, tetapi setelah memanggil fungsi induk . Sebagai contoh. fungsi a () { fungsi b () { echo "Saya b. "; } echo "Saya seorang.

Bagaimana cara memanggil fungsi dari fungsi lain PHP?

Untuk memanggil fungsi dari file lain di PHP, Anda perlu mengimpor file tempat fungsi tersebut ditentukan sebelum memanggilnya. Anda dapat mengimpor file PHP dengan menggunakan pernyataan yang diperlukan. Untuk memanggil fungsi greetings() dari file lain, Anda perlu mengimpor pustaka

Bagaimana cara mengakses fungsi PHP di WordPress?

Mengakses fungsi. .
Masuk ke antarmuka Admin WordPress
Di sidebar kiri, arahkan kursor ke Appearances, lalu klik Theme Editor
Di bilah sisi kanan, klik fungsi. php