首页 问答 正文

如何在WordPress中创建自定义上传字段?

注册会员 / 悠然自学 / 2023-06-12/ 浏览 168 次

在WordPress中创建自定义上传字段可以通过以下步骤实现:

  1. 创建自定义字段:

添加以下代码到你的主题的functions.php文件中,用于创建一个自定义字段(使用了ACF插件,如果没有安装此插件,请先安装):

function custom_upload_field() {
    acf_add_local_field_group(array(
        'key' => 'group_custom_upload',
        'title' => 'Custom Upload Field',
        'fields' => array(
            array(
                'key' => 'field_upload',
                'label' => 'Upload File',
                'name' => 'upload_file',
                'type' => 'file',
                'instructions' => 'Choose a file to upload',
                'return_format' => 'url',
                'library' => 'all',
                'required' => 1
            )
        ),
        'location' => array(
            array(
                array(
                    'param' => 'post_type',
                    'operator' => '==',
                    'value' => 'post' // Change 'post' to your desired post type
                )
            )
        )
    ));
}

add_action('acf/init', 'custom_upload_field'); 
  1. 在文章编辑页面中显示字段:

添加以下代码到你的主题的single.php文件(或者其它你希望显示字段的模板文件)中,用于在文章编辑页面中显示自定义上传字段:

if (get_field('upload_file')):
    $file_url = get_field('upload_file');
    echo "<a href='$file_url'>Download File</a>";
endif; 

在上述代码中,我们首先获取自定义字段upload_file的值,然后将其作为文件下载链接显示。

  1. 在文章列表中显示字段:

如果你希望在文章列表中显示自定义上传字段,可以使用以下代码在functions.php中实现:

function add_upload_column($columns) {
    $columns['upload_file'] = 'File';
    return $columns;
}

function show_upload_column($column, $post_id) {
    if ($column === 'upload_file') {
        $file_url = get_field('upload_file', $post_id);
        echo "<a href='$file_url'>Download File</a>";
    }
}

add_filter('manage_post_posts_columns', 'add_upload_column');
add_action('manage_post_posts_custom_column', 'show_upload_column', 10, 2); 

以上代码将在文章管理列表中添加一个名为“File”的列,并显示自定义上传字段的值作为文件下载链接。

注意:上述代码中的'upload_file'可能需要根据你在第1步中创建的自定义字段的名称进行相应的更改。

大家谈论
    我的见解