很多使用WordPress搭建网站的开发者,想要扩展功能,但不想安装过多插件。我们可以直接在主题 functions.php 文件编写自定义PHP函数,轻量化实现需求。本文适合新手入门。
1. 修改functions.php前建议备份文件;
2. 代码错误会导致网站打不开,建议先本地测试;
3. 子主题下修改函数,升级父主题不会丢失代码。
/**
* 获取文章自定义字段,为空返回默认文本
* @param int $post_id 文章ID
* @param string $key 字段名
* @param string $default 默认值
* @return string
*/
function get_custom_meta($post_id, $key, $default = ''){
$val = get_post_meta($post_id, $key, true);
if(empty($val)){
return $default;
}
return $val;
}
// 使用示例
$demo_text = get_custom_meta(get_the_ID(), 'demo_key', '暂无数据');
echo $demo_text;
function get_category_posts($cat_id, $num = 5){
$args = array(
'cat' => $cat_id,
'posts_per_page' => $num,
'post_status' => 'publish'
);
return get_posts($args);
}
// 调用
$list = get_category_posts(2,6);
foreach($list as $post){
echo ''.$post->post_title.'';
}
WordPress开发核心就是灵活运用WP自带内置函数,搭配自定义封装,可以减少插件依赖,提升网站加载速度。后续可以基于这些基础函数扩展:热门文章、推荐列表、简易横幅调取等功能。