Ekli Dosyalar için Özel Alan Ekleme
WordPress, medya kütüphanesi oluşturma işlevselliğini genişletmiştir. WordPress geliştiricileri olarak bazen biz ortam dosyaları (kütüphane) öğeleri için özel alan ekleme ihtiyacı duyabiliyoruz. Bugün sizlere wordpress sitemize yüklediğimiz ortam dosyaları için özel alanların nasıl ekleneceğini tarif etmek istiyorum.
Öncelikle ortam kitaplığı açılır pencere ve düzenleme medya sayfasında özel bir alan görüntülemek için bir kod ekleyeceğiz. Lütfen “function.php” dosyası içine içine aşağıdaki kod parçasını yerleştirin.
[php]
/* Ekli dosya için Özel Alan Ekleme */
function ic_image_attachment_add_custom_fields($form_fields, $post) {
$form_fields["ic-custom-field"] = array(
"label" => __("Custom Field"),
"input" => "text",
"value" => get_post_meta($post->ID, "ic-custom-field", true),
"helps" => __("Bu açıklama metin kutusu altında görünür."),
);
return $form_fields;
}
add_filter("attachment_fields_to_edit", "ic_image_attachment_add_custom_fields", null, 2);
[/php]
Şimdi kütüphane öğesini güncelleyeceğiz. Lütfen \”function.php\” dosyası içine aşağıdaki kod parçasını yerleştirin:
[php]
/* Özel Alan Değerini Kaydet */
function ic_image_attachment_save_custom_fields($post, $attachment) {
if(isset($attachment[\’ic-custom-field\’])) {
update_post_meta($post[\’ID\’], \’ic-custom-field\’, $attachment[\’ic-custom-field\’]);
} else {
delete_post_meta($post[\’ID\’], \’ic-custom-field\’);
}
return $post;
}
add_filter("attachment_fields_to_save", "ic_image_attachment_save_custom_fields", null , 2);
[/php]
Son olarak yine “function.php” dosyası içine aşağıdaki kod parçasını yerleştiriyoruz:
[php]
function ic_image_attachment_columns($columns) {
$columns[\’ic-custom-field\’] = __("Custom Field");
return $columns;
}
add_filter("manage_media_columns", "ic_image_attachment_columns", null, 2);
function ic_image_attachment_show_column($name) {
global $post;
switch ($name) {
case \’ic-custom-field\’:
$value = get_post_meta($post->ID, "ic-custom-field", true);
echo $value;
break;
}
}
add_action(\’manage_media_custom_column\’, \’ic_image_attachment_show_column\’, null, 2);
[/php]
İşte sonuç için önizleme: