如何制作WP主题中包含自定义字段的自定义帖子?

时间:2013-05-09 20:22:00

标签: wordpress wordpress-plugin wordpress-theming custom-post-type custom-fields

有没有办法在WP中使用自定义字段(例如标题,导演,0或更多演员等)创建自定义帖子(例如电影)并使其成为主题的一部分?我猜测需要在functions.php中添加一些内容,但我不确定如何定义自定义帖子类型并为其分配自定义字段。

如果作为主题的一部分太难做,我很乐意从管理部分创建它。建议?

2 个答案:

答案 0 :(得分:0)

我正在使用More Fields插件为我的帖子添加自定义字段(默认帖子类型或自定义帖子类型)。

要创建自定义帖子类型(当然还有自定义分类),我在functions.php添加了一个正常运行的代码,如下所示:

        function post_type_aya_bi_aya() {
            $labels = array(
                'name'               => _x( 'التفاسير', 'post type general name' ),
                'singular_name'      => _x( '', 'post type singular name' ),
                'add_new'            => _x( 'أضف تفسير جديد', 'book' ),
                'add_new_item'       => __( 'أضف تفسير جديد' ),
                'edit_item'          => __( 'تحرير التفسير' ),
                'new_item'           => __( 'تفسير جديد' ),
                'all_items'          => __( 'كافة التفاسير' ),
                'view_item'          => __( 'مشاهدة التفسير' ),
                'search_items'       => __( 'بحث في التفاسير' ),
                'not_found'          => __( 'لا يوجد أي تفسير' ),
                'not_found_in_trash' => __( 'لا يوجد أي تفسير في سلة المهملات' ), 
                'parent_item_colon'  => '',
                'menu_name'          => 'التفاسير'
            );
            $args = array(
                'labels'        => $labels,
                'description'   => 'يحنوي على معطيات "آية بآية و التفاسير المرفوعة"',
                'public'        => true,
                'menu_position' => 5,
                'supports'      => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
                'has_archive'   => true,
                'rewrite'       => array('slug' => 'aya-bi-aya'),
            );
            register_post_type( 'aya-bi-aya', $args );  
        }

 add_action( 'init', 'post_type_aya_bi_aya' );

function taxonomy_aya_bi_aya() {
        $labels = array(
            'name'              => _x( 'السور', 'taxonomy general name' ),
            'singular_name'     => _x( 'السورة', 'taxonomy singular name' ),
            'search_items'      => __( 'بحث في السور' ),
            'all_items'         => __( 'كافة السور' ),
            'parent_item'       => __( '' ),
            'parent_item_colon' => __( '' ),
            'edit_item'         => __( 'تحرير السورة' ), 
            'update_item'       => __( 'تحديث السورة' ),
            'add_new_item'      => __( 'أضف سورة' ),
            'new_item_name'     => __( 'سورة جديدة' ),
            'menu_name'         => __( 'السور' ),
        );
        $args = array(
            'labels' => $labels,
            'hierarchical' => true,
            'public' => TRUE, 
            'show_ui' => TRUE,
                'query_var' => 'sowar',

        );
        register_taxonomy( 'sowar', 'aya-bi-aya', $args );
    }

add_action( 'init', 'taxonomy_aya_bi_aya', 0 );

我在这里解释更多。祝你好运。

答案 1 :(得分:0)

您还可以使用优秀的Advanced Custom Fields plugin

这提供了一个快速管理界面,用于为每个帖子类型/页面模板/页面类型等创建字段,并且有一个非常简单的API供模板使用

<?php the_field('my_custom_field'); ?>

但我觉得你会感兴趣的部分是你可以将你的字段组导出为php,然后将它们作为主题的一部分包含