Version Description
- Fixed: Notice on creating a feed.
Download this release
Release Info
Developer | webdorado |
Plugin | WD Facebook Feed – Custom Facebook Feed Plugin |
Version | 1.1.8 |
Comparing to | |
See all releases |
Code changes from version 1.1.7 to 1.1.8
- banner_class.php +512 -0
- changelog.txt +3 -0
- css/ffwd_tables.css +0 -4
- facebook-feed-wd.php +22 -321
- framework/WDW_FFWD_Library.php +0 -142
- images/spinner.gif +0 -0
- readme.txt +82 -107
banner_class.php
ADDED
@@ -0,0 +1,512 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class TWBanner {
|
4 |
+
public $menu_postfix = ''; // To display on only current plugin pages.
|
5 |
+
public $prefix = ''; // Current plugin prefix.
|
6 |
+
public $logo = ''; // Current plugin logo relative URL.
|
7 |
+
public $plugin_slug = ''; // Current plugin slug.
|
8 |
+
public $plugin_url = ''; // Current plugin URL.
|
9 |
+
public $plugin_id = ''; // Current plugin id.
|
10 |
+
public $text = ''; // Banner text.
|
11 |
+
public $slug = ''; // Plugin slug to be installed.
|
12 |
+
public $mu_plugin_slug = ''; // Must use plugin slug.
|
13 |
+
public $base_php = ''; // Plugin base php filename to be installed.
|
14 |
+
public $page_url = ''; // Redirect to URL after activating the plugin.
|
15 |
+
public $status_install = 0; // Is plugin installed.
|
16 |
+
public $status_active = 0; // Is plugin active.
|
17 |
+
|
18 |
+
/**
|
19 |
+
* TW_Banner_Class constructor.
|
20 |
+
*
|
21 |
+
* @param $opt_banner_param
|
22 |
+
*/
|
23 |
+
public function __construct( $opt_banner_param ) {
|
24 |
+
$this->menu_postfix = $opt_banner_param["menu_postfix"];
|
25 |
+
$this->prefix = $opt_banner_param["prefix"];
|
26 |
+
$this->logo = $opt_banner_param["logo"];
|
27 |
+
$this->plugin_slug = $opt_banner_param['plugin_slug'];
|
28 |
+
$this->plugin_url = $opt_banner_param["plugin_url"];
|
29 |
+
$this->plugin_id = $opt_banner_param['plugin_id'];
|
30 |
+
$this->text = $opt_banner_param['text'];
|
31 |
+
$this->slug = $opt_banner_param['slug'];
|
32 |
+
$this->mu_plugin_slug = $opt_banner_param['mu_plugin_slug'];
|
33 |
+
$this->base_php = $opt_banner_param['base_php'];
|
34 |
+
$this->page_url = $opt_banner_param['page_url'];
|
35 |
+
$this->init();
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Add actions.
|
40 |
+
*/
|
41 |
+
public function init() {
|
42 |
+
add_action('wp_ajax_wd_tenweb_dismiss', array( $this, 'dismiss' ));
|
43 |
+
add_action('wp_ajax_tenweb_status', array( $this, 'change_status' ));
|
44 |
+
|
45 |
+
// Check the page to show banner.
|
46 |
+
if ( ( !isset($_GET['page']) || ( preg_match("/^$this->menu_postfix/", esc_html( $_GET['page'] )) === 0 && preg_match("/$this->menu_postfix$/", esc_html( $_GET['page'] )) === 0 )) || ( isset($_GET['task']) && !strpos(esc_html($_GET['task']), 'edit') === TRUE && !(strpos(esc_html($_GET['task']), 'display') > -1)) ) {
|
47 |
+
|
48 |
+
return;
|
49 |
+
}
|
50 |
+
|
51 |
+
if ( $this->is_plugin_mu($this->mu_plugin_slug) ) {
|
52 |
+
$this->status_install = 1;
|
53 |
+
$this->status_active = 1;
|
54 |
+
}
|
55 |
+
else {
|
56 |
+
$this->upgrade_install_status();
|
57 |
+
}
|
58 |
+
if ( !$this->status_active ) {
|
59 |
+
add_action('admin_notices', array( $this, 'tenweb_install_notice' ));
|
60 |
+
}
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Check plugin install status.
|
65 |
+
*/
|
66 |
+
public function upgrade_install_status() {
|
67 |
+
if ( !function_exists('is_plugin_active') ) {
|
68 |
+
include_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
69 |
+
}
|
70 |
+
if ( $this->is_plugin_installed($this->slug) ) {
|
71 |
+
$this->status_install = 1;
|
72 |
+
if ( is_plugin_active($this->slug . '/' . $this->base_php) ) {
|
73 |
+
$this->status_active = 1;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Save status.
|
80 |
+
*/
|
81 |
+
public function dismiss() {
|
82 |
+
update_option('tenweb_notice_status', '1', 'no');
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Plugin install/activate status.
|
87 |
+
*
|
88 |
+
* @return string
|
89 |
+
*/
|
90 |
+
public function tenweb_install_notice() {
|
91 |
+
// Remove old notice.
|
92 |
+
if ( get_option('tenweb_notice_status') !== FALSE ) {
|
93 |
+
update_option('tenweb_notice_status', '1', 'no');
|
94 |
+
}
|
95 |
+
$meta_value = get_option('tenweb_notice_status');
|
96 |
+
if ( $meta_value === '' || $meta_value === FALSE ) {
|
97 |
+
ob_start();
|
98 |
+
$dismiss_url = add_query_arg(array( 'action' => 'wd_tenweb_dismiss' ), admin_url('admin-ajax.php'));
|
99 |
+
$verify_url = add_query_arg(array( 'action' => 'tenweb_status' ), admin_url('admin-ajax.php'));
|
100 |
+
?>
|
101 |
+
<style>
|
102 |
+
.hide {
|
103 |
+
display: none !important;
|
104 |
+
}
|
105 |
+
#verifyUrl {
|
106 |
+
display: none;
|
107 |
+
}
|
108 |
+
#loading {
|
109 |
+
position: absolute;
|
110 |
+
right: 20px;
|
111 |
+
top: 50%;
|
112 |
+
transform: translateY(-50%);
|
113 |
+
margin: 0px;
|
114 |
+
background: url("<?php echo $this->plugin_url . '/images/spinner.gif'; ?>") no-repeat;
|
115 |
+
background-size: 20px 20px;
|
116 |
+
filter: alpha(opacity=70);
|
117 |
+
}
|
118 |
+
#wd_tenweb_logo_notice {
|
119 |
+
height: 32px;
|
120 |
+
float: left;
|
121 |
+
}
|
122 |
+
.error_install,
|
123 |
+
.error_activate {
|
124 |
+
color: red;
|
125 |
+
font-size: 10px;
|
126 |
+
}
|
127 |
+
#wpbody-content #v2_tenweb_notice_cont {
|
128 |
+
display: none;
|
129 |
+
flex-wrap: wrap;
|
130 |
+
background: #fff;
|
131 |
+
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
132 |
+
position: relative;
|
133 |
+
margin-left: 0px;
|
134 |
+
padding: 5px 0;
|
135 |
+
overflow: hidden;
|
136 |
+
border-left: 4px solid #0073AA;
|
137 |
+
font-family: Open Sans, sans-serif;
|
138 |
+
height: 40px;
|
139 |
+
min-height: 40px;
|
140 |
+
box-sizing: initial;
|
141 |
+
}
|
142 |
+
.v2_logo {
|
143 |
+
display: flex;
|
144 |
+
flex-direction: column;
|
145 |
+
justify-content: center;
|
146 |
+
height: inherit;
|
147 |
+
}
|
148 |
+
#v2_tenweb_notice_cont {
|
149 |
+
height: 50px;
|
150 |
+
padding: 0px;
|
151 |
+
}
|
152 |
+
.v2_content {
|
153 |
+
flex-grow: 1;
|
154 |
+
height: inherit;
|
155 |
+
margin-left: 25px;
|
156 |
+
}
|
157 |
+
.v2_content p {
|
158 |
+
margin: 0px;
|
159 |
+
padding: 0px;
|
160 |
+
}
|
161 |
+
.v2_content p > span {
|
162 |
+
font-size: 16px;
|
163 |
+
color: #333B46;
|
164 |
+
font-weight: 600;
|
165 |
+
line-height: 40px;
|
166 |
+
margin: 0;
|
167 |
+
}
|
168 |
+
#wd_tenweb_logo_notice {
|
169 |
+
margin-left: 25px;
|
170 |
+
height: 30px;
|
171 |
+
line-height: 100%;
|
172 |
+
}
|
173 |
+
.v2_button {
|
174 |
+
display: flex;
|
175 |
+
margin-right: 30px;
|
176 |
+
flex-direction: column;
|
177 |
+
justify-content: center;
|
178 |
+
}
|
179 |
+
.v2_button #install_now, #activate_now {
|
180 |
+
width: 112px;
|
181 |
+
height: 32px;
|
182 |
+
line-height: 30px;
|
183 |
+
font-size: 14px;
|
184 |
+
text-align: center;
|
185 |
+
padding: 0;
|
186 |
+
}
|
187 |
+
#v2_tenweb_notice_cont .wd_tenweb_notice_dissmiss.notice-dismiss {
|
188 |
+
top: 3px;
|
189 |
+
right: 3px;
|
190 |
+
padding: 0px;
|
191 |
+
}
|
192 |
+
.v2_button .button {
|
193 |
+
position: relative;
|
194 |
+
}
|
195 |
+
.v2_button .button #loading {
|
196 |
+
position: absolute;
|
197 |
+
right: 10px;
|
198 |
+
top: 50%;
|
199 |
+
transform: translateY(-50%);
|
200 |
+
margin: 0px;
|
201 |
+
background-size: 12px 12px;
|
202 |
+
filter: alpha(opacity=70);
|
203 |
+
width: 12px;
|
204 |
+
height: 12px;
|
205 |
+
}
|
206 |
+
@media only screen and (max-width: 1200px) and (min-width: 821px) {
|
207 |
+
#wpbody-content #v2_tenweb_notice_cont {
|
208 |
+
height: 50px;
|
209 |
+
min-height: 50px;
|
210 |
+
}
|
211 |
+
#v2_tenweb_notice_cont {
|
212 |
+
height: 60px;
|
213 |
+
}
|
214 |
+
.v2_content {
|
215 |
+
margin-left: 25px;
|
216 |
+
}
|
217 |
+
.v2_content p {
|
218 |
+
font-size: 14px;
|
219 |
+
color: #333B46;
|
220 |
+
font-weight: 600;
|
221 |
+
line-height: 20px;
|
222 |
+
margin-top: 5px;
|
223 |
+
}
|
224 |
+
.v2_content p span {
|
225 |
+
display: block;
|
226 |
+
}
|
227 |
+
#wd_tenweb_logo_notice {
|
228 |
+
margin-left: 25px;
|
229 |
+
height: 30px;
|
230 |
+
line-height: 100%;
|
231 |
+
}
|
232 |
+
.v2_button {
|
233 |
+
display: flex;
|
234 |
+
margin-right: 30px;
|
235 |
+
flex-direction: column;
|
236 |
+
justify-content: center;
|
237 |
+
}
|
238 |
+
.v2_button #install_now {
|
239 |
+
width: 112px;
|
240 |
+
height: 32px;
|
241 |
+
line-height: 30px;
|
242 |
+
font-size: 14px;
|
243 |
+
text-align: center;
|
244 |
+
padding: 0;
|
245 |
+
}
|
246 |
+
#v2_tenweb_notice_cont .wd_tenweb_notice_dissmiss.notice-dismiss {
|
247 |
+
top: 3px;
|
248 |
+
right: 3px;
|
249 |
+
}
|
250 |
+
}
|
251 |
+
@media only screen and (max-width: 820px) and (min-width: 781px) {
|
252 |
+
#wpbody-content #v2_tenweb_notice_cont {
|
253 |
+
height: 50px;
|
254 |
+
min-height: 50px;
|
255 |
+
}
|
256 |
+
#v2_tenweb_notice_cont {
|
257 |
+
height: 60px;
|
258 |
+
}
|
259 |
+
.v2_content {
|
260 |
+
margin-left: 25px;
|
261 |
+
}
|
262 |
+
.v2_content p {
|
263 |
+
font-size: 13px;
|
264 |
+
color: #333B46;
|
265 |
+
font-weight: 600;
|
266 |
+
line-height: 20px;
|
267 |
+
margin-top: 5px;
|
268 |
+
}
|
269 |
+
.v2_content p span {
|
270 |
+
display: block;
|
271 |
+
}
|
272 |
+
}
|
273 |
+
@media only screen and (max-width: 780px) {
|
274 |
+
#wpbody-content #v2_tenweb_notice_cont {
|
275 |
+
height: auto;
|
276 |
+
min-height: auto;
|
277 |
+
}
|
278 |
+
#v2_tenweb_notice_cont {
|
279 |
+
height: auto;
|
280 |
+
padding: 5px;
|
281 |
+
}
|
282 |
+
.v2_logo {
|
283 |
+
display: block;
|
284 |
+
height: auto;
|
285 |
+
width: 100%;
|
286 |
+
margin-top: 5px;
|
287 |
+
}
|
288 |
+
.v2_content {
|
289 |
+
display: block;
|
290 |
+
margin-left: 9px;
|
291 |
+
margin-top: 10px;
|
292 |
+
width: calc(100% - 10px);
|
293 |
+
}
|
294 |
+
.v2_content p {
|
295 |
+
line-height: unset;
|
296 |
+
font-size: 15px;
|
297 |
+
line-height: 25px;
|
298 |
+
}
|
299 |
+
.v2_content p span {
|
300 |
+
display: block;
|
301 |
+
}
|
302 |
+
#wd_tenweb_logo_notice {
|
303 |
+
margin-left: 9px;
|
304 |
+
}
|
305 |
+
.v2_button {
|
306 |
+
margin-left: 9px;
|
307 |
+
margin-top: 10px;
|
308 |
+
margin-bottom: 5px;
|
309 |
+
}
|
310 |
+
}
|
311 |
+
</style>
|
312 |
+
<script type="text/javascript">
|
313 |
+
jQuery(document).ready(function () {
|
314 |
+
jQuery('#v2_tenweb_notice_cont').css('display', 'flex');
|
315 |
+
});
|
316 |
+
</script>
|
317 |
+
<div id="v2_tenweb_notice_cont" class="notice wd-notice">
|
318 |
+
<div class="v2_logo">
|
319 |
+
<img id="wd_tenweb_logo_notice" src="<?php echo $this->plugin_url . $this->logo; ?>" />
|
320 |
+
</div>
|
321 |
+
<div class="v2_content">
|
322 |
+
<p>
|
323 |
+
<?php echo $this->text ?>
|
324 |
+
</p>
|
325 |
+
</div>
|
326 |
+
<div class="v2_button">
|
327 |
+
<?php $this->tw_install_button(2); ?>
|
328 |
+
</div>
|
329 |
+
<button type="button" class="wd_tenweb_notice_dissmiss notice-dismiss" onclick="jQuery('#v2_tenweb_notice_cont').attr('style', 'display: none !important;'); jQuery.post('<?php echo $dismiss_url; ?>');">
|
330 |
+
<span class="screen-reader-text"></span></button>
|
331 |
+
<div id="verifyUrl" data-url="<?php echo $verify_url; ?>"></div>
|
332 |
+
</div>
|
333 |
+
<?php
|
334 |
+
echo ob_get_clean();
|
335 |
+
}
|
336 |
+
}
|
337 |
+
|
338 |
+
/**
|
339 |
+
* Change status.
|
340 |
+
*/
|
341 |
+
public function change_status() {
|
342 |
+
$this->upgrade_install_status();
|
343 |
+
if ( $this->status_install ) {
|
344 |
+
$old_opt_array = array();
|
345 |
+
$new_opt_array = array( $this->plugin_slug => $this->plugin_id );
|
346 |
+
$key = 'tenweb_manager_installed';
|
347 |
+
$option = get_option($key);
|
348 |
+
if ( !empty($option) ) {
|
349 |
+
$old_opt_array = (array) json_decode($option);
|
350 |
+
}
|
351 |
+
$array_installed = array_merge($new_opt_array, $old_opt_array);
|
352 |
+
update_option($key, json_encode($array_installed));
|
353 |
+
}
|
354 |
+
$jsondata = array( 'status_install' => $this->status_install, 'status_active' => $this->status_active );
|
355 |
+
echo json_encode($jsondata);
|
356 |
+
exit;
|
357 |
+
}
|
358 |
+
|
359 |
+
/**
|
360 |
+
* Install/activate button.
|
361 |
+
*
|
362 |
+
* @param $v
|
363 |
+
*/
|
364 |
+
public function tw_install_button( $v ) {
|
365 |
+
$prefix = $this->prefix;
|
366 |
+
$install_url = esc_url(wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=' . $this->slug), 'install-plugin_' . $this->slug));
|
367 |
+
$activation_url = $this->na_action_link($this->slug . '/' . $this->base_php, 'activate');
|
368 |
+
$tenweb_url = $this->page_url;
|
369 |
+
$dismiss_url = add_query_arg(array( 'action' => 'wd_tenweb_dismiss' ), admin_url('admin-ajax.php'));
|
370 |
+
$activate = $this->status_install && !$this->status_active ? TRUE : FALSE;
|
371 |
+
?>
|
372 |
+
<a class="button<?php echo($v == 2 ? ' button-primary' : ''); ?> tenweb_activaion"
|
373 |
+
id="<?php echo $activate ? 'activate_now' : 'install_now'; ?>"
|
374 |
+
data-activation="<?php _e("Activation", $prefix); ?>"
|
375 |
+
data-tenweb-url="<?php echo $tenweb_url; ?>"
|
376 |
+
data-install-url="<?php echo $install_url; ?>"
|
377 |
+
data-activate-url="<?php echo $activation_url; ?>">
|
378 |
+
<span class="tenweb_activaion_text"><?php echo $activate ? __("Activate", $prefix) : __("Install", $prefix); ?></span>
|
379 |
+
<span class="spinner" id="loading"></span>
|
380 |
+
</a>
|
381 |
+
<span class="hide <?php echo $activate ? 'error_activate' : 'error_install tenweb_active'; ?> ">
|
382 |
+
<?php echo $activate ? __("Activation failed, please try again.", $prefix) : __("Installation failed, please try again.", $prefix); ?>
|
383 |
+
</span>
|
384 |
+
<script>
|
385 |
+
var url = jQuery(".tenweb_activaion").attr("data-install-url");
|
386 |
+
var activate_url = jQuery(".tenweb_activaion").attr("data-activate-url");
|
387 |
+
|
388 |
+
function install_tenweb_plugin() {
|
389 |
+
jQuery("#loading").addClass('is-active');
|
390 |
+
jQuery(this).prop('disable', true);
|
391 |
+
jQuery.ajax({
|
392 |
+
method: "POST",
|
393 |
+
url: url,
|
394 |
+
}).done(function () {
|
395 |
+
/* Check if plugin installed.*/
|
396 |
+
jQuery.ajax({
|
397 |
+
type: 'POST',
|
398 |
+
dataType: 'json',
|
399 |
+
url: jQuery("#verifyUrl").attr('data-url'),
|
400 |
+
error: function () {
|
401 |
+
jQuery("#loading").removeClass('is-active');
|
402 |
+
jQuery(".error_install").show();
|
403 |
+
},
|
404 |
+
success: function (response) {
|
405 |
+
if (response.status_install == 1) {
|
406 |
+
jQuery('#install_now .tenweb_activaion_text').text(jQuery("#install_now").data("activation"));
|
407 |
+
activate_tenweb_plugin();
|
408 |
+
}
|
409 |
+
else {
|
410 |
+
jQuery("#loading").removeClass('is-active');
|
411 |
+
jQuery(".error_install").removeClass('hide');
|
412 |
+
}
|
413 |
+
}
|
414 |
+
});
|
415 |
+
}).fail(function () {
|
416 |
+
jQuery("#loading").removeClass('is-active');
|
417 |
+
jQuery(".error_install").removeClass('hide');
|
418 |
+
});
|
419 |
+
}
|
420 |
+
|
421 |
+
function activate_tenweb_plugin() {
|
422 |
+
jQuery("#activate_now #loading").addClass('is-active');
|
423 |
+
jQuery.ajax({
|
424 |
+
method: "POST",
|
425 |
+
url: activate_url,
|
426 |
+
}).done(function () {
|
427 |
+
jQuery("#loading").removeClass('is-active');
|
428 |
+
var data_tenweb_url = '';
|
429 |
+
/* Check if plugin installed.*/
|
430 |
+
jQuery.ajax({
|
431 |
+
type: 'POST',
|
432 |
+
dataType: 'json',
|
433 |
+
url: jQuery("#verifyUrl").attr('data-url'),
|
434 |
+
error: function () {
|
435 |
+
jQuery("#loading").removeClass('is-active');
|
436 |
+
jQuery(".error_activate").removeClass('hide');
|
437 |
+
},
|
438 |
+
success: function (response) {
|
439 |
+
if (response.status_active == 1) {
|
440 |
+
//jQuery('#install_now').addClass('hide');
|
441 |
+
data_tenweb_url = jQuery('.tenweb_activaion').attr('data-tenweb-url');
|
442 |
+
jQuery.post('<?php echo $dismiss_url; ?>');
|
443 |
+
}
|
444 |
+
else {
|
445 |
+
jQuery("#loading").removeClass('is-active');
|
446 |
+
jQuery(".error_activate").removeClass('hide');
|
447 |
+
}
|
448 |
+
},
|
449 |
+
complete: function () {
|
450 |
+
if (data_tenweb_url != '') {
|
451 |
+
window.location.href = data_tenweb_url;
|
452 |
+
}
|
453 |
+
}
|
454 |
+
});
|
455 |
+
}).fail(function () {
|
456 |
+
jQuery("#loading").removeClass('is-active');
|
457 |
+
});
|
458 |
+
}
|
459 |
+
|
460 |
+
jQuery("#install_now").on("click", function () {
|
461 |
+
install_tenweb_plugin();
|
462 |
+
});
|
463 |
+
jQuery("#activate_now").on("click", function () {
|
464 |
+
activate_tenweb_plugin();
|
465 |
+
});
|
466 |
+
</script>
|
467 |
+
<?php
|
468 |
+
}
|
469 |
+
|
470 |
+
/**
|
471 |
+
* Check if plugin is installed.
|
472 |
+
*
|
473 |
+
* @param $plugin_slug
|
474 |
+
*
|
475 |
+
* @return bool
|
476 |
+
*/
|
477 |
+
public function is_plugin_installed( $plugin_slug ) {
|
478 |
+
if ( is_dir(WP_PLUGIN_DIR . '/' . $plugin_slug) ) {
|
479 |
+
return TRUE;
|
480 |
+
}
|
481 |
+
|
482 |
+
return FALSE;
|
483 |
+
}
|
484 |
+
|
485 |
+
/**
|
486 |
+
* Check if plugin is must used.
|
487 |
+
*
|
488 |
+
* @param $plugin_slug
|
489 |
+
*
|
490 |
+
* @return bool
|
491 |
+
*/
|
492 |
+
public function is_plugin_mu( $plugin_slug ) {
|
493 |
+
if ( $plugin_slug != '' ) {
|
494 |
+
if ( is_dir(WPMU_PLUGIN_DIR . '/' . $plugin_slug) ) {
|
495 |
+
return TRUE;
|
496 |
+
}
|
497 |
+
}
|
498 |
+
|
499 |
+
return FALSE;
|
500 |
+
}
|
501 |
+
|
502 |
+
public function na_action_link( $plugin, $action = 'activate' ) {
|
503 |
+
if ( strpos($plugin, '/') ) {
|
504 |
+
$plugin = str_replace('\/', '%2F', $plugin);
|
505 |
+
}
|
506 |
+
$url = sprintf(admin_url('plugins.php?action=' . $action . '&plugin=%s&plugin_status=all&paged=1&s'), $plugin);
|
507 |
+
$_REQUEST['plugin'] = $plugin;
|
508 |
+
$url = wp_nonce_url($url, $action . '-plugin_' . $plugin);
|
509 |
+
|
510 |
+
return $url;
|
511 |
+
}
|
512 |
+
}
|
changelog.txt
CHANGED
@@ -1,5 +1,8 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
3 |
= 1.1.7 =
|
4 |
* Added: Banner to install 10Web manager.
|
5 |
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 1.1.8 =
|
4 |
+
* Fixed: Notice on creating a feed.
|
5 |
+
|
6 |
= 1.1.7 =
|
7 |
* Added: Banner to install 10Web manager.
|
8 |
|
css/ffwd_tables.css
CHANGED
@@ -1218,7 +1218,3 @@ div.ffwd_error {
|
|
1218 |
#wpbody-content>div:not(.wrap):not(.wd_topic), .wrap .notice:not(.wd-notice) {
|
1219 |
display: none;
|
1220 |
}
|
1221 |
-
|
1222 |
-
#wpbody-content .wrap #v2_tenweb_notice_cont {
|
1223 |
-
display: flex;
|
1224 |
-
}
|
1218 |
#wpbody-content>div:not(.wrap):not(.wd_topic), .wrap .notice:not(.wd-notice) {
|
1219 |
display: none;
|
1220 |
}
|
|
|
|
|
|
|
|
facebook-feed-wd.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: Facebook Feed by 10Web
|
5 |
* Plugin URI: https://10web.io/plugins/wordpress-facebook-feed/
|
6 |
* Description: Facebook Feed by 10Web is a completely customizable, responsive solution to help you display your Facebook feed on your WordPress website.
|
7 |
-
* Version: 1.1.
|
8 |
* Author: 10Web
|
9 |
* Author URI: https://10web.io/plugins/
|
10 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -13,8 +13,9 @@
|
|
13 |
define( 'WD_FFWD_DIR', WP_PLUGIN_DIR . "/" . plugin_basename( dirname( __FILE__ ) ) );
|
14 |
define( 'WD_FFWD_URL', plugins_url( plugin_basename( dirname( __FILE__ ) ) ) );
|
15 |
define( 'WD_FB_PREFIX', 'ffwd' );
|
|
|
16 |
if (! defined( 'FFWD_VERSION' ) ){
|
17 |
-
define ('FFWD_VERSION',"1.1.
|
18 |
}
|
19 |
|
20 |
add_action('admin_notices', 'ffwd_login_notice');
|
@@ -1173,324 +1174,24 @@ function ffwd_elementor(){
|
|
1173 |
}
|
1174 |
|
1175 |
/**
|
1176 |
-
* Show 10Web
|
1177 |
-
*
|
1178 |
-
* @return string
|
1179 |
*/
|
1180 |
-
|
1181 |
-
|
1182 |
-
( isset($_GET['task']) && !strpos(esc_html($_GET['task']), 'edit') === TRUE && !(strpos(esc_html($_GET['task']), 'display') > -1))) {
|
1183 |
-
return '';
|
1184 |
-
}
|
1185 |
-
// Remove old notice.
|
1186 |
-
if ( get_option('tenweb_notice_status') !== FALSE ) {
|
1187 |
-
update_option('tenweb_notice_status', '1', 'no');
|
1188 |
-
}
|
1189 |
-
$meta_value = get_option('tenweb_notice_status');
|
1190 |
-
if ( $meta_value === '' || $meta_value === FALSE ) {
|
1191 |
-
require_once( WD_FFWD_DIR . '/framework/WDW_FFWD_Library.php' );
|
1192 |
-
ob_start();
|
1193 |
-
$prefix = 'WD_FB_PREFIX';
|
1194 |
-
$url = WD_FFWD_URL;
|
1195 |
-
$dismiss_url = add_query_arg(array( 'action' => 'wd_tenweb_dismiss' ), admin_url('admin-ajax.php'));
|
1196 |
-
$verify_url = add_query_arg( array ('action' => 'ffwd_tenweb_status'), admin_url('admin-ajax.php'));
|
1197 |
-
?>
|
1198 |
-
<style>
|
1199 |
-
.hide {
|
1200 |
-
display: none !important;
|
1201 |
-
}
|
1202 |
-
#verifyUrl {
|
1203 |
-
display: none
|
1204 |
-
}
|
1205 |
-
#loading {
|
1206 |
-
position: absolute;
|
1207 |
-
right: 20px;
|
1208 |
-
top: 50%;
|
1209 |
-
transform: translateY(-50%);
|
1210 |
-
margin: 0px;
|
1211 |
-
background: url("<?php echo $url . '/images/ajax_loader.png'; ?>") no-repeat;
|
1212 |
-
background-size: 20px 20px;
|
1213 |
-
filter: alpha(opacity=70);
|
1214 |
-
}
|
1215 |
-
#wd_tenweb_logo_notice {
|
1216 |
-
height: 32px;
|
1217 |
-
float: left;
|
1218 |
-
}
|
1219 |
-
.error_install, .error_activate {
|
1220 |
-
color: red;
|
1221 |
-
font-size: 10px;
|
1222 |
-
}
|
1223 |
-
/* -------------------Version 2 styles------------------ */
|
1224 |
-
#wpbody-content #v2_tenweb_notice_cont {
|
1225 |
-
display: none;
|
1226 |
-
flex-wrap: wrap;
|
1227 |
-
background: #fff;
|
1228 |
-
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
1229 |
-
position: relative;
|
1230 |
-
padding: 5px 0;
|
1231 |
-
overflow: hidden;
|
1232 |
-
border-left: 4px solid #0073AA;
|
1233 |
-
font-family: Open Sans, sans-serif;
|
1234 |
-
height: 40px;
|
1235 |
-
min-height: 40px;
|
1236 |
-
}
|
1237 |
-
.v2_logo {
|
1238 |
-
display: flex;
|
1239 |
-
flex-direction: column;
|
1240 |
-
justify-content: center;
|
1241 |
-
height: inherit;
|
1242 |
-
}
|
1243 |
-
|
1244 |
-
#v2_tenweb_notice_cont {
|
1245 |
-
height: 50px;
|
1246 |
-
padding: 0px;
|
1247 |
-
}
|
1248 |
-
|
1249 |
-
.v2_content {
|
1250 |
-
flex-grow: 1;
|
1251 |
-
height: inherit;
|
1252 |
-
margin-left: 34px;
|
1253 |
-
}
|
1254 |
-
|
1255 |
-
.v2_content p {
|
1256 |
-
font-size: 16px;
|
1257 |
-
color: #333B46;
|
1258 |
-
font-weight: 600;
|
1259 |
-
line-height: 40px;
|
1260 |
-
margin: 0;
|
1261 |
-
}
|
1262 |
-
#wd_tenweb_logo_notice {
|
1263 |
-
margin-left: 35px;
|
1264 |
-
height: 30px;
|
1265 |
-
line-height: 100%;
|
1266 |
-
}
|
1267 |
-
|
1268 |
-
.v2_button {
|
1269 |
-
display: flex;
|
1270 |
-
margin-right: 30px;
|
1271 |
-
flex-direction: column;
|
1272 |
-
justify-content: center;
|
1273 |
-
}
|
1274 |
-
|
1275 |
-
.v2_button #install_now, #activate_now {
|
1276 |
-
width: 112px;
|
1277 |
-
height: 32px;
|
1278 |
-
line-height: 30px;
|
1279 |
-
font-size: 14px;
|
1280 |
-
text-align: center;
|
1281 |
-
padding: 0;
|
1282 |
-
}
|
1283 |
-
|
1284 |
-
#v2_tenweb_notice_cont .wd_tenweb_notice_dissmiss.notice-dismiss {
|
1285 |
-
top: 3px;
|
1286 |
-
right: 3px;
|
1287 |
-
padding: 0px;
|
1288 |
-
}
|
1289 |
-
|
1290 |
-
.v2_button .button {
|
1291 |
-
position: relative;
|
1292 |
-
}
|
1293 |
-
|
1294 |
-
.v2_button .button #loading {
|
1295 |
-
position: absolute;
|
1296 |
-
right: 10px;
|
1297 |
-
top: 50%;
|
1298 |
-
transform: translateY(-50%);
|
1299 |
-
margin: 0px;
|
1300 |
-
background-size: 12px 12px;
|
1301 |
-
filter: alpha(opacity=70);
|
1302 |
-
width: 12px;
|
1303 |
-
height: 12px;
|
1304 |
-
}
|
1305 |
-
|
1306 |
-
@media only screen and (max-width: 1200px) and (min-width: 821px) {
|
1307 |
-
#wpbody-content #v2_tenweb_notice_cont {
|
1308 |
-
height: 50px;
|
1309 |
-
min-height: 50px;
|
1310 |
-
}
|
1311 |
-
|
1312 |
-
#v2_tenweb_notice_cont {
|
1313 |
-
height: 60px;
|
1314 |
-
}
|
1315 |
-
|
1316 |
-
.v2_content {
|
1317 |
-
margin-left: 25px;
|
1318 |
-
}
|
1319 |
-
.v2_content p {
|
1320 |
-
font-size: 14px;
|
1321 |
-
color: #333B46;
|
1322 |
-
font-weight: 600;
|
1323 |
-
line-height: 20px;
|
1324 |
-
margin-top: 5px;
|
1325 |
-
}
|
1326 |
-
.v2_content p span {
|
1327 |
-
display: block;
|
1328 |
-
}
|
1329 |
-
|
1330 |
-
#wd_tenweb_logo_notice {
|
1331 |
-
margin-left: 25px;
|
1332 |
-
height: 30px;
|
1333 |
-
line-height: 100%;
|
1334 |
-
}
|
1335 |
-
|
1336 |
-
.v2_button {
|
1337 |
-
display: flex;
|
1338 |
-
margin-right: 30px;
|
1339 |
-
flex-direction: column;
|
1340 |
-
justify-content: center;
|
1341 |
-
}
|
1342 |
-
|
1343 |
-
.v2_button #install_now {
|
1344 |
-
width: 112px;
|
1345 |
-
height: 32px;
|
1346 |
-
line-height: 30px;
|
1347 |
-
font-size: 14px;
|
1348 |
-
text-align: center;
|
1349 |
-
padding: 0;
|
1350 |
-
}
|
1351 |
-
|
1352 |
-
#v2_tenweb_notice_cont .wd_tenweb_notice_dissmiss.notice-dismiss {
|
1353 |
-
top: 3px;
|
1354 |
-
right: 3px;
|
1355 |
-
}
|
1356 |
-
}
|
1357 |
-
|
1358 |
-
@media only screen and (max-width: 820px) and (min-width: 781px) {
|
1359 |
-
|
1360 |
-
#wpbody-content #v2_tenweb_notice_cont {
|
1361 |
-
height: 50px;
|
1362 |
-
min-height: 50px;
|
1363 |
-
}
|
1364 |
-
|
1365 |
-
#v2_tenweb_notice_cont {
|
1366 |
-
height: 60px;
|
1367 |
-
}
|
1368 |
-
|
1369 |
-
.v2_content {
|
1370 |
-
margin-left: 25px;
|
1371 |
-
}
|
1372 |
-
|
1373 |
-
.v2_content p {
|
1374 |
-
font-size: 13px;
|
1375 |
-
color: #333B46;
|
1376 |
-
font-weight: 600;
|
1377 |
-
line-height: 20px;
|
1378 |
-
margin-top: 5px;
|
1379 |
-
}
|
1380 |
-
|
1381 |
-
.v2_content p span {
|
1382 |
-
display: block;
|
1383 |
-
}
|
1384 |
-
|
1385 |
-
}
|
1386 |
-
|
1387 |
-
@media only screen and (max-width: 780px) {
|
1388 |
-
|
1389 |
-
#wpbody-content #v2_tenweb_notice_cont {
|
1390 |
-
height: auto;
|
1391 |
-
min-height: auto;
|
1392 |
-
}
|
1393 |
-
|
1394 |
-
#v2_tenweb_notice_cont {
|
1395 |
-
height: auto;
|
1396 |
-
padding: 5px;
|
1397 |
-
}
|
1398 |
-
|
1399 |
-
.v2_logo {
|
1400 |
-
display: block;
|
1401 |
-
height: auto;
|
1402 |
-
width: 100%;
|
1403 |
-
margin-top: 5px;
|
1404 |
-
}
|
1405 |
-
|
1406 |
-
.v2_content {
|
1407 |
-
display: block;
|
1408 |
-
margin-left: 9px;
|
1409 |
-
margin-top: 10px;
|
1410 |
-
width: calc(100% - 10px);
|
1411 |
-
}
|
1412 |
-
|
1413 |
-
.v2_content p {
|
1414 |
-
line-height: unset;
|
1415 |
-
font-size: 15px;
|
1416 |
-
line-height: 25px;
|
1417 |
-
}
|
1418 |
-
.v2_content p span{
|
1419 |
-
display: block
|
1420 |
-
}
|
1421 |
-
#wd_tenweb_logo_notice {
|
1422 |
-
margin-left: 9px;
|
1423 |
-
}
|
1424 |
-
|
1425 |
-
.v2_button {
|
1426 |
-
margin-left: 9px;
|
1427 |
-
margin-top: 10px;
|
1428 |
-
margin-bottom: 5px;
|
1429 |
-
}
|
1430 |
-
}
|
1431 |
-
</style>
|
1432 |
-
<div id="v2_tenweb_notice_cont" class="notice wd-notice">
|
1433 |
-
<div class="v2_logo">
|
1434 |
-
<img id="wd_tenweb_logo_notice" src="<?php echo $url . '/images/icon-feed.png'; ?>" />
|
1435 |
-
</div>
|
1436 |
-
<div class="v2_content">
|
1437 |
-
<p>
|
1438 |
-
<?php echo sprintf(__('%s10Web Facebook Feed advises:%s %sUse Image Optimizer service to optimize your images quickly and easily.%s', $prefix), '<span>','</span>', '<span>','</span>'); ?>
|
1439 |
-
</p>
|
1440 |
-
</div>
|
1441 |
-
<div class="v2_button">
|
1442 |
-
<?php WDW_FFWD_Library::twbb_install_button(2); ?>
|
1443 |
-
</div>
|
1444 |
-
<button type="button" class="wd_tenweb_notice_dissmiss notice-dismiss" onclick="jQuery('#v2_tenweb_notice_cont').attr('style', 'display: none !important;'); jQuery.post('<?php echo $dismiss_url; ?>');"><span class="screen-reader-text"></span></button>
|
1445 |
-
<div id="verifyUrl" data-url="<?php echo $verify_url; ?>"></div>
|
1446 |
-
</div>
|
1447 |
-
<?php
|
1448 |
-
|
1449 |
-
echo ob_get_clean();
|
1450 |
-
}
|
1451 |
-
}
|
1452 |
-
|
1453 |
-
if ( !function_exists('is_plugin_active') ) {
|
1454 |
-
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
1455 |
}
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
//
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
$status_active = 0;
|
1473 |
-
if ( WDW_FFWD_Library::is_plugin_installed('10web-manager') ) {
|
1474 |
-
$status_install = 1;
|
1475 |
-
}
|
1476 |
-
else {
|
1477 |
-
if ( is_plugin_active('10web-manager/10web-manager.php') ) {
|
1478 |
-
$status_active = 1;
|
1479 |
-
}
|
1480 |
-
}
|
1481 |
-
if ( WDW_FFWD_Library::is_plugin_installed('10web-manager') ) {
|
1482 |
-
$old_opt_array = array();
|
1483 |
-
$new_opt_array = array( 'wd-facebook-feed' => 93 ); // core_id
|
1484 |
-
$key = 'tenweb_manager_installed';
|
1485 |
-
$option = get_option($key);
|
1486 |
-
if ( !empty($option) ) {
|
1487 |
-
$old_opt_array = (array) json_decode($option);
|
1488 |
-
}
|
1489 |
-
$array_installed = array_merge($new_opt_array, $old_opt_array);
|
1490 |
-
update_option($key, json_encode($array_installed));
|
1491 |
-
}
|
1492 |
-
$jsondata = array( 'status_install' => $status_install, 'status_active' => $status_active );
|
1493 |
-
echo json_encode($jsondata);
|
1494 |
-
exit;
|
1495 |
-
}
|
1496 |
-
add_action('wp_ajax_ffwd_tenweb_status', 'ffwd_check_tenweb_status');
|
4 |
* Plugin Name: Facebook Feed by 10Web
|
5 |
* Plugin URI: https://10web.io/plugins/wordpress-facebook-feed/
|
6 |
* Description: Facebook Feed by 10Web is a completely customizable, responsive solution to help you display your Facebook feed on your WordPress website.
|
7 |
+
* Version: 1.1.8
|
8 |
* Author: 10Web
|
9 |
* Author URI: https://10web.io/plugins/
|
10 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
13 |
define( 'WD_FFWD_DIR', WP_PLUGIN_DIR . "/" . plugin_basename( dirname( __FILE__ ) ) );
|
14 |
define( 'WD_FFWD_URL', plugins_url( plugin_basename( dirname( __FILE__ ) ) ) );
|
15 |
define( 'WD_FB_PREFIX', 'ffwd' );
|
16 |
+
define( 'WD_FB_IS_FREE', TRUE );
|
17 |
if (! defined( 'FFWD_VERSION' ) ){
|
18 |
+
define ('FFWD_VERSION',"1.1.8");
|
19 |
}
|
20 |
|
21 |
add_action('admin_notices', 'ffwd_login_notice');
|
1174 |
}
|
1175 |
|
1176 |
/**
|
1177 |
+
* Show 10Web plugin's install/activate banner.
|
|
|
|
|
1178 |
*/
|
1179 |
+
if ( !class_exists ( 'TWBanner' ) ) {
|
1180 |
+
require_once( WD_FFWD_DIR . '/banner_class.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1181 |
}
|
1182 |
+
if ( WD_FB_IS_FREE ) {
|
1183 |
+
$tw_banner_params = array(
|
1184 |
+
'menu_postfix' => '_' . WD_FB_PREFIX, // To display on only current plugin pages.
|
1185 |
+
'prefix' => WD_FB_PREFIX, // Current plugin prefix.
|
1186 |
+
'logo' => '/images/wt-gb/ffwd_logo_editor.svg', // Current plugin logo relative URL.
|
1187 |
+
'plugin_slug' => 'wd-facebook-feed', // Current plugin slug.
|
1188 |
+
'plugin_url' => WD_FFWD_URL, // Current plugin URL.
|
1189 |
+
'plugin_id' => 93, // Current plugin id.
|
1190 |
+
'text' => sprintf(__("%s Facebook Feed advises:%s %sUse Image Optimizer service to optimize your images quickly and easily.%s", WD_FB_PREFIX), '<span>','</span>', '<span>','</span>'), // Banner text.
|
1191 |
+
'slug' => '10web-manager', // Plugin slug to be installed.
|
1192 |
+
'mu_plugin_slug' => '10web-manager', // Must use plugin slug.
|
1193 |
+
'base_php' => '10web-manager.php', // Plugin base php filename to be installed.
|
1194 |
+
'page_url' => admin_url('admin.php?page=tenweb_menu'), // Redirect to URL after activating the plugin.
|
1195 |
+
);
|
1196 |
+
new TWBanner($tw_banner_params);
|
1197 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
framework/WDW_FFWD_Library.php
CHANGED
@@ -981,146 +981,4 @@ class WDW_FFWD_Library {
|
|
981 |
////////////////////////////////////////////////////////////////////////////////////////
|
982 |
// Listeners //
|
983 |
////////////////////////////////////////////////////////////////////////////////////////
|
984 |
-
|
985 |
-
/**
|
986 |
-
* Is plugin active.
|
987 |
-
*
|
988 |
-
* @param $plugin_name
|
989 |
-
*
|
990 |
-
* @return bool
|
991 |
-
*/
|
992 |
-
public static function is_plugin_installed($plugin_name) {
|
993 |
-
if ( is_dir(WP_PLUGIN_DIR . '/' . $plugin_name . '/') ) {
|
994 |
-
return TRUE;
|
995 |
-
}
|
996 |
-
|
997 |
-
return FALSE;
|
998 |
-
}
|
999 |
-
|
1000 |
-
/**
|
1001 |
-
* Get activation or deactivation link of a plugin
|
1002 |
-
*
|
1003 |
-
* @author Nazmul Ahsan <mail@nazmulahsan.me>
|
1004 |
-
*
|
1005 |
-
* @param string $plugin plugin file name
|
1006 |
-
* @param string $action action to perform. activate or deactivate
|
1007 |
-
*
|
1008 |
-
* @return string $url action url
|
1009 |
-
*/
|
1010 |
-
public static function na_action_link( $plugin, $action = 'activate' ) {
|
1011 |
-
if ( strpos($plugin, '/') ) {
|
1012 |
-
$plugin = str_replace('\/', '%2F', $plugin);
|
1013 |
-
}
|
1014 |
-
$url = sprintf(admin_url('plugins.php?action=' . $action . '&plugin=%s&plugin_status=all&paged=1&s'), $plugin);
|
1015 |
-
$_REQUEST['plugin'] = $plugin;
|
1016 |
-
$url = wp_nonce_url($url, $action . '-plugin_' . $plugin);
|
1017 |
-
|
1018 |
-
return $url;
|
1019 |
-
}
|
1020 |
-
|
1021 |
-
public static function twbb_install_button($v) {
|
1022 |
-
$prefix = WD_FB_PREFIX;
|
1023 |
-
$slug = '10web-manager';
|
1024 |
-
$install_url = esc_url(wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=' . $slug), 'install-plugin_' . $slug));
|
1025 |
-
$activation_url = self::na_action_link($slug . '/10web-manager.php', 'activate');
|
1026 |
-
$tenweb_url = admin_url('admin.php?page=tenweb_menu');
|
1027 |
-
$dismiss_url = add_query_arg(array( 'action' => 'wd_tenweb_dismiss' ), admin_url('admin-ajax.php'));
|
1028 |
-
$activate = self::is_plugin_installed($slug) && !is_plugin_active('10web-manager/manager.php') ? TRUE : FALSE;
|
1029 |
-
?>
|
1030 |
-
<a class="button<?php echo($v == 2 ? ' button-primary' : ''); ?> tenweb_activaion"
|
1031 |
-
id="<?php echo $activate ? 'activate_now' : 'install_now'; ?>"
|
1032 |
-
data-activation="<?php _e("Activation", $prefix); ?>"
|
1033 |
-
data-tenweb-url="<?php echo $tenweb_url; ?>"
|
1034 |
-
data-install-url="<?php echo $install_url; ?>"
|
1035 |
-
data-activate-url="<?php echo $activation_url; ?>">
|
1036 |
-
<span class="tenweb_activaion_text"><?php echo $activate ? __("Activate", $prefix) : __("Install", $prefix); ?></span>
|
1037 |
-
<span class="spinner" id="loading"></span>
|
1038 |
-
</a>
|
1039 |
-
<span class="hide <?php echo $activate ? 'error_activate' : 'error_install tenweb_active'; ?> ">
|
1040 |
-
<?php echo $activate ? __("Activation failed, please try again.", $prefix) : __("Installation failed, please try again.", $prefix); ?>
|
1041 |
-
</span>
|
1042 |
-
<script>
|
1043 |
-
var url = jQuery(".tenweb_activaion").attr("data-install-url");
|
1044 |
-
var activate_url = jQuery(".tenweb_activaion").attr("data-activate-url");
|
1045 |
-
|
1046 |
-
function install_tenweb_plugin() {
|
1047 |
-
jQuery("#loading").addClass('is-active');
|
1048 |
-
jQuery(this).prop('disable', true);
|
1049 |
-
jQuery.ajax({
|
1050 |
-
method: "POST",
|
1051 |
-
url: url,
|
1052 |
-
}).done(function () {
|
1053 |
-
/* Check if plugin installed.*/
|
1054 |
-
jQuery.ajax({
|
1055 |
-
type: 'POST',
|
1056 |
-
dataType: 'json',
|
1057 |
-
url: jQuery("#verifyUrl").attr('data-url'),
|
1058 |
-
error: function () {
|
1059 |
-
jQuery("#loading").removeClass('is-active');
|
1060 |
-
jQuery(".error_install").show();
|
1061 |
-
},
|
1062 |
-
success: function (response) {
|
1063 |
-
if (response.status_install == 1) {
|
1064 |
-
jQuery('#install_now .tenweb_activaion_text').text(jQuery("#install_now").data("activation"));
|
1065 |
-
activate_tenweb_plugin();
|
1066 |
-
}
|
1067 |
-
else {
|
1068 |
-
jQuery("#loading").removeClass('is-active');
|
1069 |
-
jQuery(".error_install").removeClass('hide');
|
1070 |
-
}
|
1071 |
-
}
|
1072 |
-
});
|
1073 |
-
}).fail(function () {
|
1074 |
-
jQuery("#loading").removeClass('is-active');
|
1075 |
-
jQuery(".error_install").removeClass('hide');
|
1076 |
-
});
|
1077 |
-
}
|
1078 |
-
function activate_tenweb_plugin() {
|
1079 |
-
jQuery("#activate_now #loading").addClass('is-active');
|
1080 |
-
jQuery.ajax({
|
1081 |
-
method: "POST",
|
1082 |
-
url: activate_url,
|
1083 |
-
}).done(function () {
|
1084 |
-
jQuery("#loading").removeClass('is-active');
|
1085 |
-
var data_tenweb_url = '';
|
1086 |
-
/* Check if plugin installed.*/
|
1087 |
-
jQuery.ajax({
|
1088 |
-
type: 'POST',
|
1089 |
-
dataType: 'json',
|
1090 |
-
url: jQuery("#verifyUrl").attr('data-url'),
|
1091 |
-
error: function () {
|
1092 |
-
jQuery("#loading").removeClass('is-active');
|
1093 |
-
jQuery(".error_activate").removeClass('hide');
|
1094 |
-
},
|
1095 |
-
success: function (response) {
|
1096 |
-
if (response.status_active == 0) {
|
1097 |
-
//jQuery('#install_now').addClass('hide');
|
1098 |
-
data_tenweb_url = jQuery('.tenweb_activaion').attr('data-tenweb-url');
|
1099 |
-
jQuery.post('<?php echo $dismiss_url; ?>');
|
1100 |
-
}
|
1101 |
-
else {
|
1102 |
-
jQuery("#loading").removeClass('is-active');
|
1103 |
-
jQuery(".error_activate").removeClass('hide');
|
1104 |
-
}
|
1105 |
-
},
|
1106 |
-
complete: function () {
|
1107 |
-
if (data_tenweb_url != '') {
|
1108 |
-
window.location.href = data_tenweb_url;
|
1109 |
-
}
|
1110 |
-
}
|
1111 |
-
});
|
1112 |
-
}).fail(function () {
|
1113 |
-
jQuery("#loading").removeClass('is-active');
|
1114 |
-
});
|
1115 |
-
}
|
1116 |
-
jQuery("#install_now").on("click", function () {
|
1117 |
-
install_tenweb_plugin();
|
1118 |
-
});
|
1119 |
-
jQuery("#activate_now").on("click", function () {
|
1120 |
-
activate_tenweb_plugin();
|
1121 |
-
});
|
1122 |
-
</script>
|
1123 |
-
|
1124 |
-
<?php
|
1125 |
-
}
|
1126 |
}
|
981 |
////////////////////////////////////////////////////////////////////////////////////////
|
982 |
// Listeners //
|
983 |
////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
984 |
}
|
images/spinner.gif
ADDED
Binary file
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== 10Web Facebook Feed - Custom Facebook Feed Plugin ===
|
2 |
Contributors: webdorado,10web,wdsupport
|
3 |
-
Tags: customizable facebook feed, facebook, facebook
|
4 |
Requires at least: 3.4
|
5 |
Requires PHP: 5.2
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 1.1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -14,7 +14,6 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
14 |
|
15 |
10Web Facebook Feed is the ultimate plugin to display custom Facebook feeds on your website.
|
16 |
|
17 |
-
|
18 |
= Useful Links: =
|
19 |
|
20 |
[Live Demo](https://demo.10web.io/facebook-feed/)
|
@@ -25,118 +24,95 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
25 |
|
26 |
[Special Offer for all Premium Plugins](https://10web.io/plugins-bundle-pricing/)
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
**
|
37 |
-
|
38 |
-
|
39 |
-
**Filter
|
40 |
-
|
41 |
-
|
42 |
-
**
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
**
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
Widget allows sidebar view for your Facebook feed.
|
62 |
-
|
63 |
-
**Automatic Updates**
|
64 |
-
Your feed content updates automatically on your website.
|
65 |
-
|
66 |
-
|
67 |
-
_\* Premium version only_
|
68 |
-
|
69 |
-
== World Class Customer Support ==
|
70 |
-
* Low response time
|
71 |
-
We always respond within a few hours.
|
72 |
-
* Quick issue resolution
|
73 |
-
Resolving an issue never takes more than 24 hours.
|
74 |
-
|
75 |
-
== FEATURED REVIEWS ==
|
76 |
-
|
77 |
-
> If you have someone who pulls your data from facebook and posts in your website,
|
78 |
-
> then you can fire them. This plugin does the job neatly and keeps everything organised.
|
79 |
-
> You can select whether to posts only photos, videos or everything.
|
80 |
-
> You can also set up how often to update the news.
|
81 |
-
> This is really what I was looking for a long time.
|
82 |
-
> Thanks the developers behind this plugin!
|
83 |
-
> [**by @codi56**](https://wordpress.org/support/topic/does-exactly-what-i-need-28/)
|
84 |
-
|
85 |
-
|
86 |
-
> I would give this plugin developer an A plus. It is not just a tool for displayng the feed of my Facebook page,
|
87 |
-
> but an easy designer hand to style the feeds and to make them more user-friendly.
|
88 |
-
> Nothing more to look for.
|
89 |
-
> [**by @adaada**](https://wordpress.org/support/topic/everything-i-wanted-2/)
|
90 |
-
|
91 |
-
|
92 |
-
> Excellent FB plugin and excellent support. Absolutely worth every penny.
|
93 |
-
> [**by @praguestreets**](https://wordpress.org/support/topic/excellent-plugin-2496/)
|
94 |
-
|
95 |
-
|
96 |
-
== How to Display Your Facebook Feed ==
|
97 |
-
1. Install 10Web Facebook Feed Plugin.
|
98 |
-
2. Login with Facebook.
|
99 |
-
3. Publish your feeds.
|
100 |
-
|
101 |
-
> **[Premium version adds](https://10web.io/plugins/wordpress-facebook-feed/)**
|
102 |
-
>
|
103 |
-
> * Masonry gallery View
|
104 |
-
> * Mosaic gallery View
|
105 |
-
> * Single-type content feeds of content from your Facebook wall (photos, videos, albums)
|
106 |
-
> * Facebook share buttons
|
107 |
-
> * Advanced lightbox with comments
|
108 |
-
> * Filmstrip for lightbox
|
109 |
-
> * Themes to change styles and colors for each view
|
110 |
-
> * Multiple layouts – album view for albums, masonry and blogStyle and thumbnail views for Facebook videos and photos
|
111 |
-
> * Social sharing for feed to Google+, Twitter and Facebook.
|
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
|
115 |
|
116 |
**SETTINGS/CUSTOMIZATION**
|
117 |
*Some customizations described here are available in Premium version. Please refer to premium feature summary below.*
|
118 |
|
119 |
-
To have 10Web Facebook Feed plugin up and running you have to create an app on Facebook. This is a required step by Facebook, but it's pretty easy once you check the plugin's user guide. Under the plugin's general options you provide Facebook app ID and secret, and then you can specify the feed auto update interval, choose the date format for posts
|
120 |
|
121 |
Adding feeds is just a matter of a few clicks. You just click on the **Add new** button from the feeds section of the plugin, and a new window with four setting tabs will open, including settings for the feed, lightbox, comments. From the main feed settings you set the page to create a feed with. Under the main settings you can also choose whether you display the whole timeline of the feed, or choose to display only specific content, such as only photos, videos, links.
|
122 |
|
123 |
With a Facebook page feed, you can filter out the content based on user roles, and show posts and updates only from the page owner or other users from the group, or both. There is a long list of the lightbox settings you can enable, including social share buttons, showing comments, playing filmstrip, and more. The comments settings mainly include choosing comment filtering option, whether its top level or stream, with the former being the same structure as in Facebook and the latter including all-level comments. Here you can also enable showing the comment replies and choose commenting order.
|
124 |
|
125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
|
127 |
###IMPORTANT:
|
128 |
-
If you think you found a bug
|
129 |
|
130 |
== Privacy Policy =
|
131 |
The plugin uses Facebook API to get public data from Facebook. All the received data is cached in WordPress database for some short customizable period to provide optimization. You can delete or update cached data. You can optionally enable like button for Facebook page. If you do so, Facebook will load some JS and embedded content which may track visitors. Facebook embeds are regulated under terms of Facebook privacy policy https://www.facebook.com/policy.php.
|
132 |
|
133 |
== Changelog ==
|
134 |
|
|
|
|
|
|
|
135 |
= 1.1.7 =
|
136 |
-
* Added: Banner to install 10Web manager.
|
137 |
|
138 |
= 1.1.6 =
|
139 |
-
* Fixed: Minor bug.
|
140 |
|
141 |
= 1.1.5 =
|
142 |
* Changed: Links to 10Web.io.
|
@@ -159,7 +135,7 @@ The plugin uses Facebook API to get public data from Facebook. All the received
|
|
159 |
* Fixed: Elementor compatibility
|
160 |
|
161 |
= 1.1.0 =
|
162 |
-
* **Important: Breaking change. Obtaining page access token is required to display your page content with 10Web Facebook Feed plugin.
|
163 |
* Fixed: Error on PHP 7.2
|
164 |
* Fixed: Notices when feed is unpublished
|
165 |
* Changed: Deactivation popup
|
@@ -305,17 +281,17 @@ Added: Support forum and Review links.
|
|
305 |
* Initial version
|
306 |
|
307 |
== Screenshots ==
|
308 |
-
1.
|
309 |
-
2.
|
310 |
-
3.
|
311 |
-
4.
|
312 |
-
5.
|
313 |
-
6.
|
314 |
-
7.
|
315 |
|
316 |
== Installation ==
|
317 |
|
318 |
-
#### Thank you for your interest
|
319 |
|
320 |
### Minimum requirements.
|
321 |
* Wordpress 3.4+
|
@@ -332,7 +308,7 @@ After downloading the ZIP file of the plugin,
|
|
332 |
4. Click "Install Now" button.
|
333 |
5. Click "Activate Plugin" button for activating 10Web Facebook Feed.
|
334 |
|
335 |
-
|
336 |
|
337 |
== Frequently Asked Questions ==
|
338 |
|
@@ -350,7 +326,6 @@ Each feed includes various options which are grouped in tabs:
|
|
350 |
* Main,
|
351 |
* Lightbox Settings,
|
352 |
* Comments,
|
353 |
-
|
354 |
|
355 |
First, name your feed and set the **URL** of your Facebook page, for example:
|
356 |
|
@@ -362,7 +337,7 @@ While creating feeds, you can display the full timeline of all posts, or with sp
|
|
362 |
* Videos,
|
363 |
* Statuses,
|
364 |
* Links,
|
365 |
-
|
366 |
|
367 |
= What kind of content can I display with my Facebook feed? =
|
368 |
|
@@ -381,13 +356,13 @@ Display only photos or videos, albums of your Facebook page, using **Specific**
|
|
381 |
* Photos,
|
382 |
* Videos,
|
383 |
* Albums,
|
384 |
-
|
385 |
|
386 |
The layouts you can use for Specific feeds differ depending on content type.
|
387 |
|
388 |
* **Photos** and **Videos** can be showcased with **Thumbnails** and **Masonry** layouts,
|
389 |
* For **Albums** you can use **Album** layout,
|
390 |
-
|
391 |
|
392 |
= How do I publish Facebook Feed on my website? =
|
393 |
|
@@ -420,7 +395,7 @@ Each theme provided by 10Web Facebook Feed plugin consists of the following sect
|
|
420 |
* **Masonry.** Configure options for masonry thumbnail border, padding, view and thumbnail background colors and transparency level, like and comment box options, hover effects, image description options.
|
421 |
* **Compact Album.** Configure options for thumbnail border, hover effect, transition, margin, shadow, padding, view and thumbnail background colors and transparency level, image title options, back button options.
|
422 |
* **Blog Style.** Configure options for comments box, Like, share, comment display, hashtags, image captions, location and dates, page, profile name and feed overall settings.
|
423 |
-
* **Lightbox Page.** Configure options for lightbox background, control, toggle, close and navigation buttons, filmstrip options, story options,
|
424 |
* **Navigation.** Configure navigation button options, which will be used for masonry, thumbnail, compact album and blog style views.
|
425 |
|
426 |
= How can I display comments in the feed? =
|
1 |
=== 10Web Facebook Feed - Custom Facebook Feed Plugin ===
|
2 |
Contributors: webdorado,10web,wdsupport
|
3 |
+
Tags: customizable facebook feed, facebook, facebook feed, facebook group, facebook like box, facebook likes, facebook page, facebook photos, facebook plugin, facebook posts, facebook likebox
|
4 |
Requires at least: 3.4
|
5 |
Requires PHP: 5.2
|
6 |
+
Tested up to: 5.2
|
7 |
+
Stable tag: 1.1.8
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
14 |
|
15 |
10Web Facebook Feed is the ultimate plugin to display custom Facebook feeds on your website.
|
16 |
|
|
|
17 |
= Useful Links: =
|
18 |
|
19 |
[Live Demo](https://demo.10web.io/facebook-feed/)
|
24 |
|
25 |
[Special Offer for all Premium Plugins](https://10web.io/plugins-bundle-pricing/)
|
26 |
|
27 |
+
Integrating customized content to your WordPress website from Facebook can't be any easier when using 10Web Facebook Feed plugin. It provides features to display a wide range of content from any page with full control over the content length, type and styling.
|
28 |
+
|
29 |
+
Whether you want to display an entire timeline of the feed with all its content, or just specific photos, videos, links and statuses from it, you can easily do that by choosing the desired post type you want to display. Each of the content type has its display views available and its own set of settings that you can fully customize.
|
30 |
+
|
31 |
+
The plugin features a powerful lightbox which supports filmstrip display (Premium version), 15 transition effects and can display the feed photos in a pop-up window. Configure the settings for lightbox and comments in just a few clicks.The feeds are inserted into the posts and pages with a shortcode and are mobile responsive.
|
32 |
+
|
33 |
+
**Benefits**
|
34 |
+
|
35 |
+
* **No feed limitations** - 10Web Facebook Feed lets you display unlimited number of feeds on every post and page. You can have different feeds based Facebook pages within the same page or post.
|
36 |
+
* **User engagement** - Facebook is a social media giant and most probably a great majority of your site visitors uses it on a daily basis. Displaying feeds with relevant content is definitely going to increase user engagement of your posts and have your visitors stay on your website way longer.
|
37 |
+
* **Go social** - Your posts might be really interesting and engaging, but a little bit of content from Facebook won't do any harm. You can support your posts with relevant content from Facebook and actually make your posts and pages look more interesting and fun.
|
38 |
+
* **Filter out desired content** - Facebook is a great source of information, but sometimes there is just too much of the stuff that's not relevant to your website or you simply don't want to show in your posts. With the premium version of 10Web Facebook Feed you can choose specific content types you want your visitors to see and engage with, such as photos, videos, albums.
|
39 |
+
* **Customization** - There are wide range of feed customizing options in the plugin to make sure your feeds don't look boring. Depending on the content type you want to display you can choose between different layout options. Also if you're using the premium version of the plugin there are various themes available that you can apply to the feeds.
|
40 |
+
* **Be in Charge** - 10Web Facebook Feed is giving you full control over the content you want to display. You can choose posts' user roles, the number of the posts displayed on the page, the length of the posts, feed update option, enable social sharing buttons, and many more.
|
41 |
+
* **Awesome support at your disposal** - The team behind 10Web Facebook Feed provides timely and effective support to all its users. We keep standards high and response time low.
|
42 |
+
|
43 |
+
**What's in it**
|
44 |
+
|
45 |
+
**RESPONSIVE LAYOUT**
|
46 |
+
|
47 |
+
Displayed feeds are responsive and scale perfectly to any screen.
|
48 |
+
|
49 |
+
**UNLIMITED FEEDS**
|
50 |
+
|
51 |
+
You can display as many feeds within the same post or page. Moreover, the feeds can be based on different Facebook pages.
|
52 |
+
|
53 |
+
**FEED AUTO UPDATE**
|
54 |
+
|
55 |
+
Specify the feed update interval, and the feed content will be automatically updated within the provided time period. You can also choose feed update option, whether the old posts are removed when the new ones are added, or the old ones are displayed together with the new ones.
|
56 |
+
|
57 |
+
**FACEBOOK WIDGET**
|
58 |
+
|
59 |
+
You can insert the feeds into your posts or pages using the provided shortcode, or display the feeds with the widget on the sidebar areas of your website. All the feed options, including feed view, number of posts,and the theme can be configured for the widget as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
+
**MULTIPLE FEED LAYOUTS**
|
62 |
+
|
63 |
+
10Web Facebook Feed comes with a number of feed display layouts - Album view for albums, Masonry and Thumbnail views for Facebook videos and photos. The view options are available in the premium version, and vary depending on the content type you want to display.
|
64 |
+
|
65 |
+
**THEMES**
|
66 |
+
|
67 |
+
The users of the premium version will find four themes that they can apply to the feeds. The free version uses the default theme. All the parameters of the themes can be configured and reset any time.
|
68 |
+
|
69 |
+
**POWERFUL LIGHTBOX**
|
70 |
+
|
71 |
+
The plugin features an advanced lightbox which supports full-width view and 15 transition effects. The premium version of the plugin also support filsmtrip view within the widget.
|
72 |
+
|
73 |
+
**SOCIAL SHARING**
|
74 |
+
|
75 |
+
Social sharing feature is available in the premium version of the plugin, and it will let your site visitors share the feeds on Google+, Twitter and Facebook.
|
76 |
|
77 |
|
78 |
|
79 |
**SETTINGS/CUSTOMIZATION**
|
80 |
*Some customizations described here are available in Premium version. Please refer to premium feature summary below.*
|
81 |
|
82 |
+
To have 10Web Facebook Feed plugin up and running you have to create an app on Facebook. This is a required step by Facebook, but it's pretty easy once you check the plugin's user guide. Under the plugin's general options you provide Facebook app ID and secret, and then you can specify the feed auto update interval, choose the date format for posts.
|
83 |
|
84 |
Adding feeds is just a matter of a few clicks. You just click on the **Add new** button from the feeds section of the plugin, and a new window with four setting tabs will open, including settings for the feed, lightbox, comments. From the main feed settings you set the page to create a feed with. Under the main settings you can also choose whether you display the whole timeline of the feed, or choose to display only specific content, such as only photos, videos, links.
|
85 |
|
86 |
With a Facebook page feed, you can filter out the content based on user roles, and show posts and updates only from the page owner or other users from the group, or both. There is a long list of the lightbox settings you can enable, including social share buttons, showing comments, playing filmstrip, and more. The comments settings mainly include choosing comment filtering option, whether its top level or stream, with the former being the same structure as in Facebook and the latter including all-level comments. Here you can also enable showing the comment replies and choose commenting order.
|
87 |
|
88 |
|
89 |
+
**[Premium version adds](https://10web.io/plugins/wordpress-facebook-feed/)**
|
90 |
+
|
91 |
+
* Specific content feeds, where you can choose to display only single type of content from your Facebook wall (photos, videos, albums)
|
92 |
+
* Show Facebook share buttons
|
93 |
+
* Advanced lightbox with comments
|
94 |
+
* Filmstrip for lightbox
|
95 |
+
* Themes to change styles and colors for each view
|
96 |
+
* Multiple layouts – album view for albums, masonry and thumbnail views for Facebook videos and photos
|
97 |
+
* Social sharing for feed to Google Plus, Twitter and Facebook
|
98 |
+
|
99 |
|
100 |
###IMPORTANT:
|
101 |
+
If you think you found a bug in 10Web Facebook Feed or have any problem/question concerning this plugin, please check out [Support Forum](https://wordpress.org/support/plugin/wd-facebook-feed) .
|
102 |
|
103 |
== Privacy Policy =
|
104 |
The plugin uses Facebook API to get public data from Facebook. All the received data is cached in WordPress database for some short customizable period to provide optimization. You can delete or update cached data. You can optionally enable like button for Facebook page. If you do so, Facebook will load some JS and embedded content which may track visitors. Facebook embeds are regulated under terms of Facebook privacy policy https://www.facebook.com/policy.php.
|
105 |
|
106 |
== Changelog ==
|
107 |
|
108 |
+
= 1.1.8 =
|
109 |
+
* Fixed: Notice on creating a feed.
|
110 |
+
|
111 |
= 1.1.7 =
|
112 |
+
* Added: Banner to install 10Web manager.
|
113 |
|
114 |
= 1.1.6 =
|
115 |
+
* Fixed: Minor bug.
|
116 |
|
117 |
= 1.1.5 =
|
118 |
* Changed: Links to 10Web.io.
|
135 |
* Fixed: Elementor compatibility
|
136 |
|
137 |
= 1.1.0 =
|
138 |
+
* **Important: Breaking change. Obtaining page access token is required to display your page content with 10Web Facebook Feed plugin.
|
139 |
* Fixed: Error on PHP 7.2
|
140 |
* Fixed: Notices when feed is unpublished
|
141 |
* Changed: Deactivation popup
|
281 |
* Initial version
|
282 |
|
283 |
== Screenshots ==
|
284 |
+
1. 10Web Facebook Feed - Timeline
|
285 |
+
2. 10Web Facebook Feed - Videos
|
286 |
+
3. 10Web Facebook Feed - Mansory view
|
287 |
+
4. 10Web Facebook Feed - Event
|
288 |
+
5. 10Web Facebook Feed - Edit Facebook Feed
|
289 |
+
6. 10Web Facebook Feed - Edit Options
|
290 |
+
7. 10Web Facebook Feed - Edit Theme
|
291 |
|
292 |
== Installation ==
|
293 |
|
294 |
+
#### Thank you for your interest in 10Web Facebook Feed.
|
295 |
|
296 |
### Minimum requirements.
|
297 |
* Wordpress 3.4+
|
308 |
4. Click "Install Now" button.
|
309 |
5. Click "Activate Plugin" button for activating 10Web Facebook Feed.
|
310 |
|
311 |
+
If the installation does not succeed, please contact us at [support@10web.io](mailto:support@10web.io).
|
312 |
|
313 |
== Frequently Asked Questions ==
|
314 |
|
326 |
* Main,
|
327 |
* Lightbox Settings,
|
328 |
* Comments,
|
|
|
329 |
|
330 |
First, name your feed and set the **URL** of your Facebook page, for example:
|
331 |
|
337 |
* Videos,
|
338 |
* Statuses,
|
339 |
* Links,
|
340 |
+
|
341 |
|
342 |
= What kind of content can I display with my Facebook feed? =
|
343 |
|
356 |
* Photos,
|
357 |
* Videos,
|
358 |
* Albums,
|
359 |
+
|
360 |
|
361 |
The layouts you can use for Specific feeds differ depending on content type.
|
362 |
|
363 |
* **Photos** and **Videos** can be showcased with **Thumbnails** and **Masonry** layouts,
|
364 |
* For **Albums** you can use **Album** layout,
|
365 |
+
|
366 |
|
367 |
= How do I publish Facebook Feed on my website? =
|
368 |
|
395 |
* **Masonry.** Configure options for masonry thumbnail border, padding, view and thumbnail background colors and transparency level, like and comment box options, hover effects, image description options.
|
396 |
* **Compact Album.** Configure options for thumbnail border, hover effect, transition, margin, shadow, padding, view and thumbnail background colors and transparency level, image title options, back button options.
|
397 |
* **Blog Style.** Configure options for comments box, Like, share, comment display, hashtags, image captions, location and dates, page, profile name and feed overall settings.
|
398 |
+
* **Lightbox Page.** Configure options for lightbox background, control, toggle, close and navigation buttons, filmstrip options, story options,Like, share, comment display, hashtags and comments options.
|
399 |
* **Navigation.** Configure navigation button options, which will be used for masonry, thumbnail, compact album and blog style views.
|
400 |
|
401 |
= How can I display comments in the feed? =
|