-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.php
120 lines (82 loc) · 2.76 KB
/
functions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
/**
* Include all template files
*
* @access public
* @return void
*/
function confitYield(){
//auto-loads all .php files in these directories.
$includes = array(
'layouts' => apply_filters( 'confit_layouts_folder', 'templates/layouts' ),
'views' => apply_filters( 'confit_views_folder', 'templates/views' ),
'elements' => apply_filters( 'confit_elements_folder', 'templates/elements' )
);
foreach( $includes as $key => $inc ){
echo '<!-- '.$key.'-->';
$root = trailingslashit( get_template_directory() );
$files = glob( $root.$inc.'/*.php' );
foreach ( $files as $file ){
require_once( $file );
}
}
}
/**
* Sets the global settings required by the JSON API:
*
* @access public
* @return void
*/
function confitSetSettings(){
$plugin_url = trailingslashit( WP_PLUGIN_URL ).'/json-rest-api/wp-api';
//register the global object needed by the api & confiture:
$settings = array(
'root' => esc_url_raw( get_json_url() ),
'nonce' => wp_create_nonce( 'wp_json' ),
'api' => esc_url_raw( $plugin_url ),
'theme' => esc_url_raw( confitUrl( 'theme', false ) ),
'scripts' => esc_url_raw( confitUrl( 'scripts', false ) ),
'vendors' => esc_url_raw( confitUrl( 'vendors', false ) )
);
echo '<script>';
echo 'var Confit_Settings = '.json_encode( $settings ).';';
echo 'var WP_API_Settings = Confit_Settings;';
echo '</script>';
}
/**
* Make the front-end includes a bit more readable
*
* @access public
* @param $type Type string
* @return String url
*/
function confitUrl( $type, $echo = true ){
$url = trailingslashit( get_template_directory_uri() );
switch( $type ){
case 'vendors':
$url .= 'scripts/vendors';
break;
case 'assets':
$url .= 'assets';
break;
case 'scripts':
$url .= 'scripts';
break;
case 'css':
$url .= 'assets/css';
break;
case 'images':
$url .= 'assets/images';
break;
case 'requirejs':
$url .= 'scripts/vendors/requirejs/require.js';
break;
case 'config':
$url .= 'scripts/config'; //no trailing .js for the data-attr
break;
}
if( $echo )
echo $url;
return $url;
}
show_admin_bar( false );