- 浏览: 1621300 次
- 性别:
- 来自: 厦门
-
文章分类
- 全部博客 (603)
- T_java (145)
- T_script&ASP (51)
- T_C/C++ (25)
- T_PowerBuilder (11)
- T_Database (53)
- T_odoo (7)
- T_应用服务器 (50)
- T_专_条形码 (6)
- T_专_负载均衡器 (4)
- T_操作系统 (94)
- T_信息安全 (41)
- T_专_搜索引擎 (14)
- T_L_PHP (58)
- T_L_Delphi (18)
- T_L_.NET、C#、VisualStudio (25)
- T_L_Objective-C (6)
- T_移动开发 (53)
- T_网络 (109)
- T_大数据 (2)
- T_嵌入式 (2)
- T_小众技术 (24)
- T_未分类 (58)
- L_旅游印记 (1)
- L_生活随笔 (48)
- L_中国文化 (18)
- L_户外与生存 (0)
最新评论
-
csbean4004:
不知道哪传来得恶习,发帖子不好好发,故意弄错一些东西,很讨厌
让HTML5支持后置摄像头 -
withthewind:
终于找到一个可以用的了。。。
如何用VBA取得Word文档中的标题前面的序号 -
busbby:
兄弟,无法下载,说文件不完整
一个好用的Outlook ost格式文件转pst文件的工具 -
yijavakevin:
密码啊~解压密码多少?
一个二维条形码组件 -
vipbooks:
你给的那个链接根本无法下载,跳到官网看了下最新版12M,但点下 ...
十步以内完成精细web打印
应花生奶油 网友的求助,特意研究了一下如何给WordPress的wp_posts表添加一个字段,然后每次发布文章时就自动给这个字段添加内容,这个字段也就和文章标题、内容、发布时间等平起平坐了,是文章的固有属性。
在通常情况下,我们如果想在WordPress博客中给文章添加额外的属性,那么我们一般都会想到使用自定义栏目(也称自定义字段),这 也极大的增强了WordPress的扩展性,如我想使用WordPress制作一个在线销售的网站,那么每件商品有价格、颜色、重量等属性,这个时候我就 可以使用自定义栏目来记录这部分数据。
在WordPress中自定义栏目的数据是存放在wp_postmeta这个表中的,如果你的一篇文章中创建了3个自定义栏目,那么对应 的就要往wp_postmeta这个表中插入3行数据,这样就实现与wp_posts表的分离,好处是你可以无限制添加自定义栏目,坏处是有点浪费存储空 间(此处为花生奶油 网 友的观点)。现在的需求是,每篇文章我都有一个固定的字段,就如同文章标题一样是不可或缺的,那么你可以参考我下面的代码(这里以添加两个固定字段 keywords和description为例,多个依此类推),将以下代码添加到主题的functions.php中即可:
/* Define the custom box,适用WP 3.0以后的版本 */ add_action( 'add_meta_boxes', 'myplugin_add_custom_box' ); // 如果是WP 3.0之前的版本,使用以下一行代码 // add_action( 'admin_init', 'myplugin_add_custom_box', 1 ); /* Do something with the data entered */ add_action( 'save_post', 'myplugin_save_postdata' ); /* Adds a box to the main column on the Post and Page edit screens */ function myplugin_add_custom_box() { add_meta_box( 'myplugin_sectionid', 'My_custom_box', // 可自行修改标题文字 'myplugin_inner_custom_box', 'post' ); } /* Prints the box content */ function myplugin_inner_custom_box( $post ) { global $wpdb; // Use nonce for verification wp_nonce_field( plugin_basename( __FILE__ ), 'myplugin_noncename' ); // 获取固定字段keywords和description的值,用于显示之前保存的值 // 此处wp_posts新添加的字段为keywords和description,多个用半角逗号隔开 $date = $wpdb->get_row( $wpdb->prepare( "SELECT keywords, description FROM $wpdb->posts WHERE ID = %d", $post->ID) ); // Keywords 字段输入框的HTML代码 echo '<label for="keywords_new_field">Keywords</label> '; echo '<input type="text" id="keywords_new_field" name="keywords_new_field" value="'.$date->keywords.'" size="18" />'; // description 字段输入框的HTML代码,即复制以上两行代码,并将keywords该成description echo '<label for="description_new_field">Description</label> '; echo '<input type="text" id="description_new_field" name="description_new_field" value="'.$date->description.'" size="18" />'; // 多个字段依此类推 } /* 文章提交更新后,保存固定字段的值 */ function myplugin_save_postdata( $post_id ) { // verify if this is an auto save routine. // If it is our form has not been submitted, so we dont want to do anything if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // verify this came from the our screen and with proper authorization, // because save_post can be triggered at other times if ( !wp_verify_nonce( $_POST['myplugin_noncename'], plugin_basename( __FILE__ ) ) ) return; // 权限验证 if ( 'post' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_post', $post_id ) ) return; } // 获取编写文章时填写的固定字段的值,多个字段依此类推 $keywords = $_POST['keywords_new_field']; $description = $_POST['description_new_field']; // 更新数据库,此处wp_posts新添加的字段为keywords和description,多个根据你的情况修改 global $wpdb; $wpdb->update( "$wpdb->posts", // 以下一行代码,多个字段的话参照下面的写法,单引号中是字段名,右边是变量值。半角逗号隔开 array( 'keywords' => $keywords, 'description' => $description ), array( 'ID' => $post_id ), // 添加了多少个新字段就写多少个%s,半角逗号隔开 array( '%s', '%s' ), array( '%d' ) ); }
保存之后,你需要使用phpMyAdmin或其他工具给wp_posts表添加字段keywords和description,,如下图:
如果你想在读取固定字段keywords和description的值,可以使用wpdb类的get_row方法 ,示例代码:
// $post->ID是文章id,自行修改 $date = $wpdb->get_row( $wpdb->prepare( "SELECT keywords FROM $wpdb->posts WHERE ID = %d", $post->ID) ); // keywords值 $keywords = $date->keywords; // description值 $description = $date->description;
好了,大概内容就这些。至于添加更多个固定字段等问题,那就自己慢慢研究一下以上代码吧,相信你能行!
发表评论
-
SpringBoot Fat Jar解压运行
2018-06-28 21:40 2282SpringBoot已经成为当前最流行的微服务 ... -
TeamViewer13+Patch
2018-05-13 22:19 3228下载地址: https://www.datafilehos ... -
Linux挂载阿里云对象存储OSS作为本地磁盘扩充空间备份网站
2017-09-25 08:54 1981p.s.挂载oss之后,使用rsync可以同步图片数据,非 ... -
Chrome核心的自定义浏览器
2017-07-04 17:19 849以Chrome为核心的自定义浏览器源代码,有时候可能用得到,保 ... -
pdf2htmlEX:把PDF转换成HTML的神器
2017-03-15 19:00 2802pdf2htmlEX:将 PDF 转为 HTML 网页 反 ... -
子div撑不开父div的几种解决方法
2017-02-26 11:39 2907子div撑不开父div的几种解决方法 子div撑不开 ... -
让ie6 7 8 9支持html5 websocket
2016-12-23 20:52 2356结果: 从github上的 web ... -
网站获取用户手机号码的方法、系统、客户端及服务器(坑爹的玩意儿)
2016-11-22 14:22 2316网站获取用户 ... -
两个相同放大镜叠加焦距计算
2016-09-16 19:47 2453关于两个相同放大镜叠加后焦距的计算公式: F={ ( f ... -
Ubuntu16.04上安装MT7601网卡驱动(TL-W725N/W725N)
2016-09-15 23:01 0I suggest you get a temporary ... -
如何在palcedoler中放置图标
2016-09-10 09:52 657如何在H5的palceholder中设置一个图标? ... -
一个下载youtube视频的Linux工具
2016-07-01 08:50 985我们要介绍工具是youtube-dl。这是一个跨平台的工具, ... -
另一个穿透内网的工具(类似ngrok)
2016-06-20 20:26 4869前段时间介绍过两种把内网端口映射到公网的工具:ngrok ... -
Docker无法拉取镜像的一个解决办法
2016-06-16 12:47 14166在阿里云ECS上安装了docker,安装完成后,运行hell ... -
基于 HTTP/2 的 WEB 内网穿透实现(转)
2016-04-22 15:50 1520基于 HTTP/2 的 WEB 内网穿透实现 HTTP ... -
搭建自己的ngrok服务(转)
2016-04-22 15:42 938搭建自己的ngrok服务 在国内开发、企业号 ... -
一个把内网端口映射到外网的工具ngrok(类似与花生壳)
2016-04-22 14:35 1407Secure tunnels to localhost ... -
八款优秀的Linux天文学软件
2016-02-21 20:31 2924八款优秀的Linux天文学软件 天文学是一门研究恒 ... -
通过 HTTP 头进行 SQL 注入(转)
2015-12-11 10:10 3285在漏洞评估和渗透测试中,确定目标应用程序的输入向量是 ... -
Node.js下载地址
2015-11-19 14:16 758http://nodejs.org/dist/
相关推荐
发布文章时可以添加自定义字段“via”,可在详情页显示该文章来源(不填写则不显示) 6.如何更改分享按钮的Appkey? 分别打开模板目录下functions.php和js/dh_ca.js两个文件,查找“801069107”(腾讯微博key),...
通过此插件,用户可以添加额外的数据字段,以增强内容的结构化和搜索引擎优化(SEO)。 4. **wpjam-content-template**:内容模板插件允许用户创建和应用自定义的页面布局和内容模板,提高内容创作效率,保持网站...
在WordPress中设置文章编辑器的默认内容是一项十分实用的功能,它能够让内容创建者在撰写新文章时有一个预设的框架或提示信息,从而提高工作效率。通过使用WordPress的过滤器(filter)API,开发者可以轻松地为不同...
3. 根据指定自定义字段获取WordPress文章:通过修改WP查询函数query_posts()中的参数,能够根据文章的自定义字段来检索和显示文章列表。这在需要根据文章的特定属性进行分类时非常有用。 4. 获取某个时间段的...
这使得网站内容更加灵活,可以定制化显示信息,例如,为博客文章添加特色图像,或者为页面添加自定义布局。通过翻译文档,你可以了解如何设置和使用这些自定义字段,以便在设计网站时提供更丰富的用户体验。 2. **...
在WordPress中,有时候我们需要在文章正文内容之后添加特定的信息,如订阅链接、文章分享选项、收藏功能或版权声明等。通常,我们可以直接修改当前主题的`single.php`模板文件,将这些代码片段插入到适当的位置。...
图片和文章内的链接通常存储在`wp_posts`表的`post_content`字段中。使用SQL查询来批量替换这些链接,例如: ```sql UPDATE wp_options SET option_value = replace(option_value, 'localhost', 'xiedandan.com')...
•在几个不同的页面固定的PHP警告,如果所有额外的用户字段被删除。 •增加了一个迹象,如果一个用户被封锁在自己的帐户页面。 •添加用户的电子邮件确认状态为调节用户注册的管理页面。 •显示最大速率的帖子,...