
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress如何创建自定义文章类型
WP集市
2025-09-01
【WordPress教程】
426人已围观
- WordPress搞自定义文章类型其实就像在超市里自己组装快餐——你本来只有默认的米饭(文章)和面条(页面),但现在想要卖麻辣烫。得先告诉系统:“嘿,给我个新柜台!”用代码在主题的functions.php里喊一嗓子:
add_action('init', 'build_my_food_counter');
function build_my_food_counter() {
register_post_type('malatang', [
'labels' => [
'name' => '麻辣烫专区',
'add_new' => '搞碗新的'
],
'public' => true,
'has_archive' => true,
'menu_icon' => 'dashicons-food',
'supports' => ['title', 'editor', 'thumbnail']
]);
}
- 这时候后台会突然长出一个叫“麻辣烫专区”的新菜单,点进去就能加菜品。但你会发现添加内容时只有标题和正文——这就像麻辣烫只给汤底不给菜。得加配料(自定义字段),比如辣度选项:
add_meta_box('spicy_level', '变态辣等级', function($post) {
$value = get_post_meta($post->ID, '_spicy', true);
echo '<select name="spicy_select">';
foreach(['微辣','中辣','变态辣'] as $option) {
echo '<option '.selected($value, $option).'>'.$option.'</option>';
}
echo '</select>';
}, 'malatang');
- 保存的时候记得用钩子接住用户选的辣度,不然数据会掉进虚空:
add_action('save_post', 'save_spicy_data');
function save_spicy_data($post_id) {
if (isset($_POST['spicy_select'])) {
update_post_meta($post_id, '_spicy', sanitize_text_field($_POST['spicy_select']));
}
}
- 最后到前台显示时,用WP_Query召唤这些麻辣烫文章,循环输出时要记得把自定义字段值掏出来:
$malatang_query = new WP_Query(['post_type' => 'malatang']);
while($malatang_query->have_posts()) : the_post();
echo '辣度:'.get_post_meta(get_the_ID(), '_spicy', true);
endwhile;
wp_reset_postdata();
- 其实整个过程就像在玩乐高——系统给你插槽(钩子)和积木(函数),你只要把'malatang'这类自定义参数像不同颜色的积木块塞进去。偶尔会拼错形状(语法错误),但刷新后台时看到那个食物图标突然出现,比泡面揭开盖子那刻还有成就感。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
