· 8 years ago · Apr 17, 2018, 04:00 PM
1<?php
2## script to add custom fields to magic fields
3## version: 0.1
4## author: Xavi Ivars (xavi.ivars at gmail.com)
5
6define(WP_ADMIN,true);
7
8include('wp-config.php');
9include('wp-load.php');
10global $wpdb;
11
12// first we declare custom_fields we want to add to magic_fields (if they exist)
13$meta_keys = array('especial','especial_links','font_slug','font_url','cambra_file');
14
15// and also we define data for all those custom_fields
16// (we can get it looking at URLs when editing panels,fields,...)
17$meta_data = array(
18 'especial' => array(
19 'field_id'=>3,
20 'group_counter'=>1,
21 'field_counter'=>1,
22 'group_id'=>3,
23 'raw_custom_field_name'=>''
24 ),
25 'especial_links' => array(
26 'field_id'=>4,
27 'group_counter'=>1,
28 'field_counter'=>1,
29 'group_id'=>5,
30 'raw_custom_field_name'=>''
31 ),
32 'font_slug' => array(
33 'field_id'=>1,
34 'group_counter'=>1,
35 'field_counter'=>1,
36 'group_id'=>2,
37 'raw_custom_field_name'=>''
38 ),
39 'font_url' => array(
40 'field_id'=>2,
41 'group_counter'=>1,
42 'field_counter'=>1,
43 'group_id'=>2,
44 'raw_custom_field_name'=>''
45 ),
46 'cambra_file' => array(
47 'field_id'=>5,
48 'group_counter'=>1,
49 'field_counter'=>1,
50 'group_id'=>7,
51 'raw_custom_field_name'=>''
52 )
53);
54
55
56foreach($meta_data as $key=>$value){
57 $meta_data[$key]['raw_custom_field_name']=RC_Format::GetInputName($key);
58}
59
60function xxxx_get_name($name) {
61
62 global $meta_data;
63
64 $ret = $name;
65
66 if(isset($meta_data[$name])) {
67 $v = $meta_data[$name];
68 $ret = $v['field_id'].'_'.$v['group_counter'].'_';
69 $ret .= $v['field_counter'].'_'.$v['group_id'].'_'.$v['raw_custom_field_name'];
70 }
71
72 return $ret;
73}
74
75query_posts('posts_per_page=-1&order=ASC');
76
77echo '<ol>';
78
79while( have_posts()) {
80
81 the_post();
82 echo '<li>';
83 the_title();
84 echo '<br />';
85
86 $custom_field = get_post_custom();
87
88 $_POST=array();
89 $_POST['rc_cwp_meta_keys']=array();
90 $_POST['rc-cwp-custom-write-panel-id'] = $custom_field['_mf_write_panel_id'][0];
91 foreach($custom_field as $key => $value) {
92 if(in_array($key, $meta_keys)) {
93 $_POST['rc_cwp_meta_keys'][]=xxxx_get_name($key);
94 $_POST[xxxx_get_name($key)]=$value[0];
95 }
96 }
97 echo '<pre>';
98 print_r($_POST);
99 echo '</pre>';
100 RCCWP_Post::SetMetaValues(get_the_ID());
101 echo '</li>';
102}
103echo '</ol>';
104
105
106?>