首页 > 网站 > CMS建站 > 正文

wordpress添加文章固定字段的介绍

2020-03-22 18:22:51
字体:
来源:转载
供稿:网友
这篇文章主要介绍了关于wordpress添加文章固定字段的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

让wordpress的文章数据表 增加一个字段,使其能在文章编辑页能编辑,并能通过rest api 获取出来。

例:给文章加一个缩略图字段 litpic

首先 通过mysql 给文章表 wp_posts 加一个字段 litpic

然后在主题的function.php 后面添加如下代码:

add_action( add_meta_boxes , myplugin_add_custom_box 
add_action( save_post , myplugin_save_postdata function myplugin_add_custom_box() {add_meta_box( myplugin_sectionid , 设置缩略图 , // 可自行修改标题文字 myplugin_inner_custom_box , post }function myplugin_inner_custom_box( $post ) {global $wpdb;// Use nonce for verificationwp_nonce_field( plugin_basename( __FILE__ ), myplugin_noncename // 获取固定字段litpic的值,用于显示之前保存的值// 此处wp_posts新添加的字段为litpic,多个用半角逗号隔开$date = $wpdb- get_row( $wpdb- prepare( SELECT litpic FROM $wpdb- posts WHERE ID = %d , $post- ID) );// litpic 字段输入框的HTML代码echo label for= litpic_new_field 图片url /label echo input type= text id= litpic_new_field name= litpic_new_field html' target='_blank'>value= .$date- litpic. size= 28 / // 多个字段依此类推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 anythingif ( 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 timesif ( !wp_verify_nonce( $_POST[ myplugin_noncename ], plugin_basename( __FILE__ ) ) )return;// 权限验证if ( post == $_POST[ post_type ] ) {if ( !current_user_can( edit_post , $post_id ) )return;// 获取编写文章时填写的固定字段的值,多个字段依此类推$litpic = $_POST[ litpic_new_field global $wpdb;$wpdb- update( $wpdb- posts ,// 以下一行代码,多个字段的话参照下面的写法,单引号中是字段名,右边是变量值。半角逗号隔开array( litpic = $litpic),array( ID = $post_id ),// 添加了多少个新字段就写多少个%s,半角逗号隔开array( %s ),array( %d )}

添加后,文章页会显示litpic字段的输入框,如图:

但此时 rest api还不会把litpic字段输出。

打开 /wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php 文件。

添加如下代码:

if ( ! empty( $schema[ properties ][ litpic ] ) ) { $data[ litpic ] = $post- litpic; }

 litpic = array(  description = __( A litpic to protect access to the content and excerpt. ), type = string , context = array( view , edit , embed ), ),

$post_type_attributes = array( title , editor , author , excerpt , thumbnail , comments , revisions , page-attributes , post-formats , custom-fields , litpic , ); $fixed_schemas = array( post = array( title , editor , author , excerpt , thumbnail , comments , revisions , post-formats , custom-fields , litpic , ),

case litpic : $schema[ properties ][ litpic ] = array(  description = __( The ID for the litpic of the object. ), type = string , context = array( view , edit , embed ), ); break;

现在,rest api 就可以把litpic 字段输出了。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

关于activemq stomp类代码

关于Yii框架的增删改查

以上就是wordpress添加文章固定字段的介绍的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选