> php教程 > php手册 > 본문

wordpress 后台 无插件 自定义数据录入

WBOY
풀어 주다: 2016-06-06 20:08:11
원래의
937명이 탐색했습니다.

CMS总是能让人抓狂的,太乱,但是乱中也有自己的规律。本文主要是解决的问题是: 当你在添加文章或者页面时,发现原来的博客系统并不能满足你的要求,要添加字段,或者是新增表,你又不想用插件。这个时候看看这篇博客,我相信会对你有很大的帮助。 要实现我

CMS总是能让人抓狂的,太乱,但是乱中也有自己的规律。本文主要是解决的问题是:

当你在添加文章或者页面时,发现原来的博客系统并不能满足你的要求,要添加字段,或者是新增表,你又不想用插件。这个时候看看这篇博客,我相信会对你有很大的帮助。

要实现我说的功能,必须要改4个文件,在3.4和3.5上没有问题,其他版本没试过。

 /wp-admin/edit-form-advanced.php
 /wp-admin/includes/meta-boxes.php
 /wp-admin/includes/post.php
 /wp-includes/post.php
로그인 후 복사

一,注册我们要添加的数据块。修改/wp-includes/post.php文件

function create_initial_post_types() {
    register_post_type( 'post', array(
        'labels' => array(
            'name_admin_bar' => _x( 'Post', 'add new on admin bar' ),
        ),
        'public'  => true,
        '_builtin' => true, /* internal use only. don't use this when registering your own post type. */
        '_edit_link' => 'post.php?post=%d', /* internal use only. don't use this when registering your own post type. */
        'capability_type' => 'post',
        'map_meta_cap' => true,
        'hierarchical' => false,
        'rewrite' => false,
        'query_var' => false,
        'delete_with_user' => true,
        'supports' => array( 'title',.............,'revisions', 'post-formats','product-category' ),//product-category自定义模块
    ) );
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
로그인 후 복사

上面product-category是我添加一个模块,仔细看一下代码,感觉有点像授权。

二,创建product-category的数据模块。修改/wp-admin/includes/meta-boxes.php

/**
 * add by tank
 * Display product category attributes form fields.
 *
 * @since 2.7.0
 *
 * @param object $post
 */
function product_category_meta_box($post) {
    $product_father = 5;
    $child_page = wp_get_pages("sort_order=desc&title_li=&child_of=".$product_father);
    。。。。。。。。。。。。。。。。。。。。
?>
로그인 후 복사
    $v): ?>
  • 。。。。。。。。。。。。。。。。。。。。

三,数据模块准备发了,提供给/wp-admin/edit-form-advanced.php调用

if ( post_type_supports($post_type, 'product-category') )
    add_meta_box('pageproductcategory', 'post' == $post_type ? __('Product Category') : __('Attributes'), 'product_category_meta_box', null, 'side', 'core');
로그인 후 복사

解释:

1,product-category是/wp-includes/post.php文件里面添加模块名。

2,pageproductcategory是html的div的id名称,可自定义,但不是根其他模块重了就行。

3,'post'==$post_type,判断是不是post,因为我上面加product-category是在post里面加的。'Product Category'标签名。

4,product_category_meta_box,是在/wp-admin/includes/meta-boxes.php自定义的方法名。

四,数据入库,修改/wp-admin/includes/post.php

function edit_post( $post_data = null ) {
。。。。。。。。。。。。。。。。。。。。。
    if ( 'post' == $post_data['post_type'] ){
        if(!empty($post_data['product_category'])){
            update_post_meta( $post_ID, '_product_category_for_flow', implode(',',$post_data['product_category']));
        }
    }
。。。。。。。。。。。。。。。。。。。。。。
}
로그인 후 복사

在edit_post方法里面添加上面一段代码,在这里只是说个意思,把数据放到post_meta表中。

wordpress 后台 添加自定义模块

wordpress 后台 添加自定义模块

wordpress 后台 无插件 自定义数据录入 CMS总是能让人抓狂的,太乱,但是乱中也有自己的规律。本文主要是解决的问题是: 当你在添加文章或者页面时,发现原来的博客系统并不能满足你的要求,要添加字段,或者是新增表,你又不想用插件。这个时候看看这篇博客,我相信会对你有很大的帮助。 要实现我说的功能,必须要改4个文件,在3.4和3.5上没有问题,其他版本没试过。 /wp-admin/edit-form-advanced.php /wp-admin/includes/meta-boxes.php /wp-admin/includes/post.php /wp-includes/post.php 一,注册我们要添加的数据块。修改/wp-includes/post.php文件 function create_initial_post_types() { register_post_type( 'post', array( 'labels' => array( 'name_admin_bar' => _x( 'Post', 'add new on admin bar' ), ), [...]wordpress 后台 无插件 自定义数据录入
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿