当前位置: 首页 > news >正文

为wordpress特定分类目录下的内容添加自定义字段

在WordPress中,您可以使用自定义字段(Custom Fields)或称为元数据(Meta Data)来为特定分类目录下的内容添加额外的信息。自定义字段可以附加到文章、页面、用户和其他对象上。以下是一个逐步指南,介绍如何为特定分类目录下的内容添加自定义字段,并在内容录入时显示这些字段。

步骤 1: 添加自定义字段

首先,您需要在WordPress后台创建一个自定义字段。这可以通过在主题函数文件(functions.php)中添加代码来实现。

打开您的WordPress主题文件夹,并找到functions.php文件。

在functions.php文件中添加以下代码,以创建一个名为my_custom_field的自定义字段,并将其与特定分类关联:

// 添加自定义字段
function add_custom_field_to_category() {register_meta('post', 'my_custom_field', array('type' => 'text','single' => true,'show_in_rest' => true,'label' => '我的自定义字段','description' => '这是一个自定义字段示例。',));
}
add_action('init', 'add_custom_field_to_category');// 将自定义字段与特定分类关联
function load_custom_field_for_category($term) {$term_id = $term->term_id;$category_name = $term->name;// 假设您的分类名称是 "特定分类"if ($category_name === '特定分类') {add_meta_box('my_custom_field_box','我的自定义字段','display_custom_field_box','post','normal','high');}
}
add_action('load-post.php', 'load_custom_field_for_category');
add_action('load-post-new.php', 'load_custom_field_for_category');// 显示自定义字段的输入框
function display_custom_field_box() {global $post;echo '<input type="text" id="my_custom_field" name="my_custom_field" value="' . get_post_meta($post->ID, 'my_custom_field', true) . '" size="30" style="width:97%;" />';
}

请注意,上述代码中的特定分类应替换为您想要添加自定义字段的实际分类名称。

步骤 2: 保存自定义字段的值

接下来,您需要在WordPress保存文章时保存自定义字段的值。这可以通过添加以下代码到functions.php文件来实现:

// 保存自定义字段的值
function save_custom_field_value($post_id) {if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {return;}if (!current_user_can('edit_post', $post_id)) {return;}if (isset($_POST['my_custom_field'])) {update_post_meta($post_id, 'my_custom_field', $_POST['my_custom_field']);} else {delete_post_meta($post_id, 'my_custom_field');}
}
add_action('save_post', 'save_custom_field_value');

步骤 3: 在内容录入时显示自定义字段

最后,您可以在文章编辑页面和内容页面显示自定义字段。这可以通过编辑WordPress的模板文件来实现。

打开您的WordPress主题文件夹,并找到single.php或content.php文件(取决于您的主题结构)。

在适当的位置添加以下代码,以显示自定义字段的值:

<?php if (get_post_meta($post->ID, 'my_custom_field', true)) : ?><p>我的自定义字段: <?php echo get_post_meta($post->ID, 'my_custom_field', true); ?></p>
<?php endif; ?>

这段代码会检查当前文章是否有my_custom_field自定义字段,并在有值的情况下显示它。

完成

现在,当您在WordPress后台为特定分类下的文章添加或编辑内容时,应该会看到一个名为“我的自定义字段”的新输入框。您可以在这个输入框中输入自定义字段的值,这些值会在保存文章后保存,并在文章页面上显示。

原文

https://www.wowsoho.com/news/6203.html

相关文章:

  • 2021年XX省赛职业院校技能大赛”高职组 计算机网络应用赛项 网络构建模块竞赛真题
  • vscode使用Runner插件将.exe文件统一放到一个目录下
  • git基础-tagging
  • 【服务器】常见服务器高危端口
  • 爬取搜狗翻译项目实例
  • 网络协议栈--传输层--UDP/TCP协议
  • 简单的查看iPhone储存空间的几种方法,总有一种是你想要的
  • nginx mirror 流量镜像
  • [flask]http请求//获取请求头信息+客户端信息
  • 【C++】手撕哈希表的闭散列和开散列
  • Day08 Java复习8 Spring MVC概念
  • 蓝桥杯刷题-day5-动态规划
  • Chrome 插件打包发布
  • 单元测试框架 Junit
  • 本地项目连接gitee仓库
  • axios 和 cookie 的那些事
  • Java 内存分配及垃圾回收机制初探
  • java正则表式的使用
  • Python十分钟制作属于你自己的个性logo
  • Shadow DOM 内部构造及如何构建独立组件
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Vue官网教程学习过程中值得记录的一些事情
  • web标准化(下)
  • 解析带emoji和链接的聊天系统消息
  • 聚类分析——Kmeans
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 前嗅ForeSpider教程:创建模板
  • Python 之网络式编程
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​批处理文件中的errorlevel用法
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • $forceUpdate()函数
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原創) 未来三学期想要修的课 (日記)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)使用VMware vSphere标准交换机设置网络连接
  • ***通过什么方式***网吧
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .stream().map与.stream().flatMap的使用
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [Android]Android开发入门之HelloWorld
  • [Android]使用Retrofit进行网络请求
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)