wordpress添加文章固定字段的介绍
内容导读
收集整理的这篇技术教程文章主要介绍了wordpress添加文章固定字段的介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3318字,纯文字阅读大概需要5分钟。
内容图文
这篇文章主要介绍了关于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" 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添加文章固定字段的介绍的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的wordpress添加文章固定字段的介绍全部内容,希望文章能够帮你解决wordpress添加文章固定字段的介绍所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。