-->

Script Custom Field untuk melampirkan gambar, link, atau file wordpress dengan mudah

Kolom kustom (custom field) untuk memasukkan gambar, link, atau file ke dalam postingan

Menambahkan script costum field di wordpress

Custom fields bisa sangat membantu untuk melampirkan file konten ke postingan atau halaman yang kamu buat di WordPress, misalnya sejumlah link, file, atau mungkin slideshow gambar. 

Kamu bisa menggunakan fungsi PHP kecil berikut untuk mengotomatiskan pembuatan gambar, tautan, dan array file, dan untuk membuat array dengan labelnya.

Berikut ini contoh penggunaannya: misalkan kamu perlu melampirkan 5 gambar ke sebuah posting, masing-masing dengan labelnya sendiri. 

Kamu menempatkannya di editor sendiri, tetapi dengan menggunakan custom fields serta juga bisa membuat slideshow yang bagus. 

Untuk melakukannya, kamu perlu membuat beberapa Bidang Kustom (custom field). Pertama kita memiliki kunci "image1", "image2", "image *" hingga "image5", ini akan menampung URL gambar. Ini akan cukup untuk membuat larik gambar, tetapi saya ingin beberapa di antaranya memiliki label juga. 

Katakanlah gambar dengan kunci "image2" membutuhkan label "Gambar Kedua", saya dapat melakukannya dengan menambahkan bidang bernama "image2_label" dengan nilai "Gambar Kedua".

Dalam contoh ini fungsi akan membuat dua array PHP, satu disebut "$ post_images" yang berisi gambar, dan satu lagi "$ post_images_label" yang berisi label untuk gambar ini. Saya akan menunjukkan kepada Anda cara melakukan loop melalui array ini nanti, tetapi Anda harus mengerti maksud melakukan ini sekarang. Daftar link dan file serta slideshow gambar dibuat menggunakan Custom Fields.

Fungsi ini juga menyederhanakan pengambilan lainnya (kunci non-daftar), dengan meletakkan semuanya di objek "$ post_var". Jika saya membuat Bidang Kustom yang disebut "myField", saya dapat dengan mudah mencapai nilainya melalui $ post_var ["myField"]. Ini lebih pendek daripada metode "get_post_meta ()" yang disebutkan di atas.

Script atau fungsi yang digunakan dalam kolom custom (custom field)

Berikut fungsi yang melakukan triknya, salin /tempel ini di file functions.php sehingga kamu dapat mengaksesnya dari tema.

function bd_parse_post_variables () { 
 // bd_parse_post_variables fungsi untuk tema WordPress oleh Nick Van der Vreken. 
 // silakan merujuk ke bydust.com/using-custom-fields-in-wordpress-to-attach-images-or-files-to-your-posts/ 
 // untuk informasi atau pertanyaan lebih lanjut. 
 global $ post, $ post_var; 
 // isi semua tipe yang ingin Anda daftarkan dalam sebuah array, dan 
 // label yang harus mereka dapatkan jika tidak ada label yang ditentukan. 
 // contoh: setiap file harus 
 diberi 
label "Download" jika tidak ada 
// label yang disetel untuk file tersebut. 
 $ types = array ('image' => 'info tidak tersedia', 
 'file' => 'Unduh', 
 'link' => 'Baca selengkapnya ...');
 

 foreach (get_post_custom ($ post-> ID) sebagai $ k => $ v) $ post_var [$ k] = array_shift ($ v); 
 // membuat array 
 foreach ($ types as $ type => $ message) { 
 global $ {'post _'. $ type.'s '}, $ {' post _ '. $ type.'s_label'}; 
 $ i = 1; 
 $ {'post _'. $ type.'s '} = array (); 
 $ {'post _'. $ type.'s_label '} = array (); 
 sementara ($ post_var [$ type. $ i]) { 
 echo $ type. $ i. ' 
- '. $ {$ type. $ i .'_ label'}; 
 array_push ($ {'post _'. $ type.'s '}, $ post_var [$ type. $ i]); 
 array_push ($ {'post _'. $ type.'s_label '}, $ post_var [$ type. $ i .'_ label']? htmlspecialchars ($ post_var [$ type. $ i .'_ label ']): $ message) ; 
 $ i ++; 
 } 
 } 
 }
Baca juga: Plugin untuk memasukkan persamaan matematika di wordpress

Menyesuaikan skrip dengan kebutuhan Anda

Kamu mungkin perlu mengedit fungsi ini agar sesuai dengan kebutuhan. Script ini adalah salah satu bagaimana membuat daftar untuk file, tautan, dan gambar dalam variabel berikut:

$post_images (hold the values given to "image1", "image2", "image*")
$post_images_label (holds the values given to "image1_label", "image2_label", "image*_label". If no label is specified but an image*-key is, the label for that image will be the default label specified in the script. This goes for all _label arrays.
$post_files (holds the values given to "file1", "file2", "file*")
$post_files_label (holds the values given to "file1_label", "file2_label", "file*_label")
$post_links (holds the values given to "link1", "link2", "link*")
$post_links_label (holds the values given to "link1_label", "link2_label", "link*_label")

Semua informasi untuk array ini termasuk dalam $ types-variable. Satu-satunya hal yang perlu kamu lakukan untuk menambahkan tipe adalah menambahkan tipe itu ke array. Misalnya, jika kamu ingin menampilkan daftar nama dan gambar kucing, kamu memerlukan script berikut ini:

// isi semua tipe yang ingin didaftarkan dalam sebuah array, dan 
 // label yang harus mereka dapatkan jika tidak ada label yang ditentukan. 
 // contoh: setiap file harus 
 diberi 
label "Download" jika tidak ada 
// label yang disetel untuk file tersebut. 
 $ types = array ('image' => 'no info available', 
 'file' => 'Download', 
 'link' => 'Read more ...', 
 'cat' => 'This cat has no name' );

Dengan contoh ini, kamu dapat menambahkan Kunci Kustom bernama "cat1", "cat1_label", "cat2", "cat2_label", "cat *", "cat * _label" di mana tombol "cat *" - akan menampung gambar kucing, dan kunci "cat * _label" -nya akan menjadi nama kucing. Fungsi ini akan membuat array "$ post_cats" dan "$ post_cats_label", yang berisi setiap gambar dan nama kucing.

Menggunakan Kolom Kustom yang diurai dalam theme situs

Kami sekarang memiliki array kami yang berisi nilai Bidang Kustom yang telah kami siapkan. Kamu dapat menggunakan script ini sebagai array PHP biasa, berikut cara saya melakukannya:

<!-- Start the Loop. -->  
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();  
// call the function in our functions.php file bd_parse_post_variables();  
// these variables are now available: 
// $post_var // $post_images and $post_images_label 
// $post_links and $post_links_label 
// $post_files and $post_files_label 
?>  

<!-- Display the Post's Content in a div box. -->  
<div class="entry">    
<?php the_content(); ?>  
</div>     

<!-- Display our Custom Field --> 
<div class="link">    
link1: "<?php echo $post_var['myField']; ?>"  
</div> 

<!-- Display the list of links --> 
<ul> 
<?php while(count($post_files) > 0): ?>  
<li class="file"> 
<a href="<?php echo array_shift($post_files); ?>" title="Click to download this file"> 
<?php echo array_shift($post_files_label); ?> 
</a> 
</li> 
<?php endwhile; ?> 
</ul>    

<!-- Stop The Loop (but note the "else:" - see next line). -->  
<?php endwhile; else: ?>  
<!-- The very first "if" tested to see if there were any Posts to -->  
<!-- display.  This "else" part tells what do if there weren't any. --> 
<p>Sorry, no posts matched your criteria.</p>  
<!-- REALLY stop The Loop. -->  
<?php endif; ?>

Saya harap penjelasan ini bermanfaat untuk terus dipelajari. Jika Kamu menggunakan kode saya atau mengubahnya untuk meningkatkan fungsinya, beri tahu saya ;-)

You may like these posts

  1. To insert a code use <i rel="pre">code_here</i>
  2. To insert a quote use <b rel="quote">your_qoute</b>
  3. To insert a picture use <i rel="image">url_image_here</i>