social-buttons.php
3.6 KB
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
/**
* @class FLShortcodeModule
*/
class FLSocialButtonModule extends FLBuilderModule {
/**
* @method __construct
*/
public function __construct()
{
parent::__construct(array(
'name' => __('Social Buttons', 'fl-builder'),
'description' => __('Displays social buttons.', 'fl-builder'),
'category' => __('高级模块', 'fl-builder'),
'editor_export' => false,
'partial_refresh' => true
));
}
/**
* @method update
* @param $settings {object}
*/
public function update($settings)
{
global $post;
// If the URL is not custom, build the current page's URL
if($settings->url_type == 'current') {
$settings->the_url = get_permalink($post->ID);
}
else {
$settings->the_url = $settings->custom_url;
}
return $settings;
}
/**
* Adds the fb-root div to the page footer
* @method add_fb_root
*/
public function add_fb_root()
{
add_action('wp_footer', array('FLSocialButtonModule', 'fb_root'));
}
/**
* Actually echos the fb_root div
* @method fb_root
*/
public static function fb_root()
{
echo '<div id="fb-root"></div>';
}
}
/**
* Register the module and its form settings.
*/
FLBuilder::register_module('FLSocialButtonModule', array(
'general' => array(
'title' => __('General', 'fl-builder'),
'sections' => array(
'general' => array(
'title' => '',
'fields' => array(
'url_type' => array(
'type' => 'select',
'label' => __('Target URL', 'fl-builder'),
'default' => 'current',
'options' => array(
'custom' => __('Custom', 'fl-builder'),
'current' => __('Current Page', 'fl-builder')
),
'toggle' => array(
'custom' => array(
'fields' => array('custom_url')
)
),
'help' => __('The Target URL field correlates to the page you would like your social icons to interface with. For example, if you show Facebook, the user will "Like" whatever you put in this field.', 'fl-builder'),
'preview' => array(
'type' => 'none'
)
),
'custom_url' => array(
'type' => 'text',
'label' => __('Custom URL', 'fl-builder'),
'placeholder' => 'http://www.example.com',
'preview' => array(
'type' => 'none'
)
),
'align' => array(
'type' => 'select',
'label' => __('Alignment', 'fl-builder'),
'default' => 'left',
'options' => array(
'center' => __('Center', 'fl-builder'),
'left' => __('Left', 'fl-builder'),
'right' => __('Right', 'fl-builder')
)
),
'show_facebook' => array(
'type' => 'select',
'label' => __('Show Facebook', 'fl-builder'),
'default' => 1,
'options' => array(
1 => __('Yes', 'fl-builder'),
0 => __('No', 'fl-builder')
)
),
'show_twitter' => array(
'type' => 'select',
'label' => __('Show Twitter', 'fl-builder'),
'default' => 1,
'options' => array(
1 => __('Yes', 'fl-builder'),
0 => __('No', 'fl-builder')
)
),
'show_gplus' => array(
'type' => 'select',
'label' => __('Show Google+', 'fl-builder'),
'default' => 1,
'options' => array(
1 => __('Yes', 'fl-builder'),
0 => __('No', 'fl-builder')
)
)
)
)
)
)
));