Version Description
- New: Added a text area to the Support tab which contains all of the plugin settings and site info for easier troubleshooting
- New: You can now set the number of Facebook posts to '0' if you just want to show the Facebook Like box widget and no posts
- Tweak: If the user doesn't add a unit to the width, height or padding then automatically add 'px'
- Tweak: Added social media sharing links to the bottom of the settings page and an option to add a credit link to the bottom of the feed
- Fix: Fixed an issue with Facebook hashtags not being linked when followed immediately by punctuation
- Fix: When displaying a shared link if the caption is the same as the link URL then don't display it
- Fix: Added a space before the feed header's style attribute to remove HTML validation error
- Fix: Prefixed the 'top' and 'bottom' classes used on the Facebook Like box to prevent CSS conflicts
- Fix: Fixed an issue with the link color not being applied to Facebook hashtag links
Download this release
Release Info
Developer | smashballoon |
Plugin | Custom Facebook Feed |
Version | 2.2 |
Comparing to | |
See all releases |
Code changes from version 2.1.3 to 2.2
- README.txt +12 -1
- css/cff-style.css +14 -2
- custom-facebook-feed-admin.php +144 -18
- custom-facebook-feed.php +37 -12
- js/cff-scripts.js +28 -16
README.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: smashballoon
|
|
3 |
Tags: Facebook, Facebook feed, Facebook posts, Facebook wall, Facebook events, Facebook page, Facebook group, Facebook Like box, Customizable Facebook Feed, custom, customizable, seo, responsive, mobile, social media
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.0
|
6 |
-
Stable tag: 2.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -271,6 +271,17 @@ Credit iMarketing Factory - "The Importance of Facebook for Small Businesses"
|
|
271 |
9. It's super easy to display your Facebook feed in any page or post
|
272 |
|
273 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
= 2.1.3 =
|
275 |
* Fix: Fixed an issue with the Facebook Access Token used in the plugin hitting its request limit
|
276 |
|
3 |
Tags: Facebook, Facebook feed, Facebook posts, Facebook wall, Facebook events, Facebook page, Facebook group, Facebook Like box, Customizable Facebook Feed, custom, customizable, seo, responsive, mobile, social media
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.0
|
6 |
+
Stable tag: 2.2
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
271 |
9. It's super easy to display your Facebook feed in any page or post
|
272 |
|
273 |
== Changelog ==
|
274 |
+
= 2.2 =
|
275 |
+
* New: Added a text area to the Support tab which contains all of the plugin settings and site info for easier troubleshooting
|
276 |
+
* New: You can now set the number of Facebook posts to '0' if you just want to show the Facebook Like box widget and no posts
|
277 |
+
* Tweak: If the user doesn't add a unit to the width, height or padding then automatically add 'px'
|
278 |
+
* Tweak: Added social media sharing links to the bottom of the settings page and an option to add a credit link to the bottom of the feed
|
279 |
+
* Fix: Fixed an issue with Facebook hashtags not being linked when followed immediately by punctuation
|
280 |
+
* Fix: When displaying a shared link if the caption is the same as the link URL then don't display it
|
281 |
+
* Fix: Added a space before the feed header's style attribute to remove HTML validation error
|
282 |
+
* Fix: Prefixed the 'top' and 'bottom' classes used on the Facebook Like box to prevent CSS conflicts
|
283 |
+
* Fix: Fixed an issue with the link color not being applied to Facebook hashtag links
|
284 |
+
|
285 |
= 2.1.3 =
|
286 |
* Fix: Fixed an issue with the Facebook Access Token used in the plugin hitting its request limit
|
287 |
|
css/cff-style.css
CHANGED
@@ -286,10 +286,10 @@
|
|
286 |
height: 100%;
|
287 |
}
|
288 |
/*Like box is not inside of #cff*/
|
289 |
-
.cff-likebox.top.cff-outside{
|
290 |
margin-bottom: 10px;
|
291 |
}
|
292 |
-
.cff-likebox.bottom.cff-outside{
|
293 |
margin-top: 10px;
|
294 |
}
|
295 |
|
@@ -327,4 +327,16 @@
|
|
327 |
display: none;
|
328 |
padding: 5px 0 0 0;
|
329 |
clear: both;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
}
|
286 |
height: 100%;
|
287 |
}
|
288 |
/*Like box is not inside of #cff*/
|
289 |
+
.cff-likebox.cff-top.cff-outside{
|
290 |
margin-bottom: 10px;
|
291 |
}
|
292 |
+
.cff-likebox.cff-bottom.cff-outside{
|
293 |
margin-top: 10px;
|
294 |
}
|
295 |
|
327 |
display: none;
|
328 |
padding: 5px 0 0 0;
|
329 |
clear: both;
|
330 |
+
}
|
331 |
+
|
332 |
+
/* Credit link */
|
333 |
+
#cff .cff-credit{
|
334 |
+
font-size: 11px;
|
335 |
+
}
|
336 |
+
#cff .cff-credit a{
|
337 |
+
text-decoration: none;
|
338 |
+
}
|
339 |
+
#cff .cff-credit .fa{
|
340 |
+
padding-right: 5px;
|
341 |
+
font-size: 13px;
|
342 |
}
|
custom-facebook-feed-admin.php
CHANGED
@@ -331,6 +331,38 @@ function cff_settings_page() {
|
|
331 |
<br />
|
332 |
<a href="https://smashballoon.com/custom-facebook-feed/demo" target="_blank"><img src="<?php echo plugins_url( 'img/pro.png' , __FILE__ ) ?>" /></a>
|
333 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
<?php } //End config tab ?>
|
335 |
|
336 |
|
@@ -354,26 +386,74 @@ function cff_settings_page() {
|
|
354 |
</ul>
|
355 |
|
356 |
<br />
|
357 |
-
<p><?php _e('Still need help? <a href="
|
358 |
|
359 |
<br />
|
360 |
-
<h3><?php _e('System Info'); ?></h3>
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
<
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
|
378 |
<?php } ?>
|
379 |
|
@@ -499,6 +579,7 @@ function cff_style_page() {
|
|
499 |
'cff_event_title_link' => false,
|
500 |
'cff_video_action' => 'post',
|
501 |
'cff_app_id' => '',
|
|
|
502 |
'cff_sep_color' => '',
|
503 |
'cff_sep_size' => '1',
|
504 |
|
@@ -670,6 +751,7 @@ function cff_style_page() {
|
|
670 |
$cff_class = $options[ 'cff_class' ];
|
671 |
$cff_open_links = $options[ 'cff_open_links' ];
|
672 |
$cff_app_id = $options[ 'cff_app_id' ];
|
|
|
673 |
$cff_preserve_settings = 'cff_preserve_settings';
|
674 |
$cff_preserve_settings_val = get_option( $cff_preserve_settings );
|
675 |
|
@@ -1002,6 +1084,7 @@ function cff_style_page() {
|
|
1002 |
|
1003 |
(isset($_POST[ $cff_ajax ])) ? $cff_ajax_val = $_POST[ 'cff_ajax' ] : $cff_ajax_val = '';
|
1004 |
if (isset($_POST[ 'cff_app_id' ])) $cff_app_id = $_POST[ 'cff_app_id' ];
|
|
|
1005 |
$cff_preserve_settings_val = $_POST[ $cff_preserve_settings ];
|
1006 |
|
1007 |
//Meta
|
@@ -1031,6 +1114,7 @@ function cff_style_page() {
|
|
1031 |
|
1032 |
update_option( $cff_ajax, $cff_ajax_val );
|
1033 |
$options[ 'cff_app_id' ] = $cff_app_id;
|
|
|
1034 |
update_option( $cff_preserve_settings, $cff_preserve_settings_val );
|
1035 |
}
|
1036 |
//Update the Custom Text / Translate options
|
@@ -2403,6 +2487,14 @@ function cff_style_page() {
|
|
2403 |
<p class="cff-tooltip cff-more-info"><?php _e('When removing the plugin your settings are automatically deleted from your database. Checking this box will prevent any settings from being deleted. This means that you can uninstall and reinstall the plugin without losing your settings.'); ?></p>
|
2404 |
</td>
|
2405 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2406 |
</tbody>
|
2407 |
</table>
|
2408 |
|
@@ -2511,9 +2603,43 @@ function cff_style_page() {
|
|
2511 |
</table>
|
2512 |
|
2513 |
<?php submit_button(); ?>
|
|
|
2514 |
<?php } //End Custom Text tab ?>
|
2515 |
|
2516 |
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2517 |
<?php
|
2518 |
} //End Style_Page
|
2519 |
//Enqueue admin styles
|
331 |
<br />
|
332 |
<a href="https://smashballoon.com/custom-facebook-feed/demo" target="_blank"><img src="<?php echo plugins_url( 'img/pro.png' , __FILE__ ) ?>" /></a>
|
333 |
|
334 |
+
<hr />
|
335 |
+
<h3><?php _e('Like the plugin? Help spread the word!'); ?></h3>
|
336 |
+
|
337 |
+
<!-- TWITTER -->
|
338 |
+
<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://wordpress.org/plugins/custom-facebook-feed/" data-text="Display your Facebook posts on your site your way using the Custom Facebook Feed WordPress plugin!" data-via="smashballoon" data-dnt="true">Tweet</a>
|
339 |
+
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
340 |
+
<style type="text/css">
|
341 |
+
#twitter-widget-0{ float: left; width: 100px !important; }
|
342 |
+
.IN-widget{ margin-right: 20px; }
|
343 |
+
</style>
|
344 |
+
|
345 |
+
<!-- FACEBOOK -->
|
346 |
+
<div id="fb-root" style="display: none;"></div>
|
347 |
+
<script>(function(d, s, id) {
|
348 |
+
var js, fjs = d.getElementsByTagName(s)[0];
|
349 |
+
if (d.getElementById(id)) return;
|
350 |
+
js = d.createElement(s); js.id = id;
|
351 |
+
js.src = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&appId=640861236031365&version=v2.0";
|
352 |
+
fjs.parentNode.insertBefore(js, fjs);
|
353 |
+
}(document, 'script', 'facebook-jssdk'));</script>
|
354 |
+
<div class="fb-like" data-href="https://wordpress.org/plugins/custom-facebook-feed/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true" style="display: block; float: left; margin-right: 20px;"></div>
|
355 |
+
|
356 |
+
<!-- LINKEDIN -->
|
357 |
+
<script src="//platform.linkedin.com/in.js" type="text/javascript">
|
358 |
+
lang: en_US
|
359 |
+
</script>
|
360 |
+
<script type="IN/Share" data-url="https://wordpress.org/plugins/custom-facebook-feed/"></script>
|
361 |
+
|
362 |
+
<!-- GOOGLE + -->
|
363 |
+
<script src="https://apis.google.com/js/platform.js" async defer></script>
|
364 |
+
<div class="g-plusone" data-size="medium" data-href="https://wordpress.org/plugins/custom-facebook-feed/"></div>
|
365 |
+
|
366 |
<?php } //End config tab ?>
|
367 |
|
368 |
|
386 |
</ul>
|
387 |
|
388 |
<br />
|
389 |
+
<p><?php _e('Still need help? <a href="http://smashballoon.com/custom-facebook-feed/support/" target="_blank">Request support</a>. Please include your <b>System Info</b> below with all support requests.'); ?></p>
|
390 |
|
391 |
<br />
|
392 |
+
<h3><?php _e('System Info <i style="color: #666; font-size: 11px; font-weight: normal;">Click the text below to select all</i>'); ?></h3>
|
393 |
+
|
394 |
+
<?php
|
395 |
+
$access_token = get_option( $access_token );
|
396 |
+
if ( $access_token == '' || empty($access_token) ) $access_token = '611606915581035|RdRHbHtrHseQw4C7SDUBFWIrJLA';
|
397 |
+
?>
|
398 |
+
<?php $posts_json = cff_fetchUrl("https://graph.facebook.com/".get_option( trim($page_id) )."/feed?access_token=". trim($access_token) ."&limit=1"); ?>
|
399 |
+
|
400 |
+
|
401 |
+
<textarea readonly="readonly" onclick="this.focus();this.select()" title="To copy, click the field then press Ctrl + C (PC) or Cmd + C (Mac)." style="width: 70%; height: 500px; white-space: pre; font-family: Menlo,Monaco,monospace;">
|
402 |
+
## SITE/SERVER INFO: ##
|
403 |
+
Site URL: <?php echo site_url() . "\n"; ?>
|
404 |
+
Home URL: <?php echo home_url() . "\n"; ?>
|
405 |
+
WordPress Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
|
406 |
+
PHP Version: <?php echo PHP_VERSION . "\n"; ?>
|
407 |
+
Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
|
408 |
+
PHP allow_url_fopen: <?php echo ini_get( 'allow_url_fopen' ) ? "Yes" . "\n" : "No" . "\n"; ?>
|
409 |
+
PHP cURL: <?php echo is_callable('curl_init') ? "Yes" . "\n" : "No" . "\n"; ?>
|
410 |
+
JSON: <?php echo function_exists("json_decode") ? "Yes" . "\n" : "No" . "\n" ?>
|
411 |
+
|
412 |
+
## ACTIVE PLUGINS: ##
|
413 |
+
<?php
|
414 |
+
$plugins = get_plugins();
|
415 |
+
$active_plugins = get_option( 'active_plugins', array() );
|
416 |
+
|
417 |
+
foreach ( $plugins as $plugin_path => $plugin ) {
|
418 |
+
// If the plugin isn't active, don't show it.
|
419 |
+
if ( ! in_array( $plugin_path, $active_plugins ) )
|
420 |
+
continue;
|
421 |
+
|
422 |
+
echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
|
423 |
+
}
|
424 |
+
?>
|
425 |
+
|
426 |
+
## PLUGIN SETTINGS: ##
|
427 |
+
Use own Access Token: <?php echo get_option( 'cff_show_access_token' ) ."\n"; ?>
|
428 |
+
Access Token: <?php echo get_option( 'cff_access_token' ) ."\n"; ?>
|
429 |
+
Page ID: <?php echo get_option( 'cff_page_id' ) ."\n"; ?>
|
430 |
+
Page Type: <?php echo get_option( 'cff_page_type' ) ."\n"; ?>
|
431 |
+
Number of Posts: <?php echo get_option( 'cff_num_show' ) ."\n"; ?>
|
432 |
+
Post Limit: <?php echo get_option( 'cff_post_limit' ) ."\n"; ?>
|
433 |
+
Show Posts by: <?php echo get_option( 'cff_show_others' ) ."\n"; ?>
|
434 |
+
Cache Time: <?php echo get_option( 'cff_cache_time' ) ."\n"; ?>
|
435 |
+
Cache Unit: <?php echo get_option( 'cff_cache_time_unit' ) ."\n"; ?>
|
436 |
+
Locale: <?php echo get_option( 'cff_locale' ) ."\n"; ?>
|
437 |
+
Timezone: <?php $options = get_option( 'cff_style_settings', array() );
|
438 |
+
echo $options[ 'cff_timezone' ] ."\n"; ?>
|
439 |
+
|
440 |
+
## EXTENSIONS: ##
|
441 |
+
Extensions Plugin: <?php echo get_option('cff_extensions_status') ."\n"; ?>
|
442 |
+
Date Range From: <?php echo get_option( 'cff_date_from' ) ."\n"; ?>
|
443 |
+
Date Range Until: <?php echo get_option( 'cff_date_until' ) ."\n"; ?>
|
444 |
+
Featured Post: <?php echo get_option( 'cff_featured_post_id' ) ."\n"; ?>
|
445 |
+
Lightbox: <?php echo get_option( 'cff_lightbox' ) ."\n"; ?>
|
446 |
+
|
447 |
+
## CUSTOMIZE: ##
|
448 |
+
<?php
|
449 |
+
while (list($key, $val) = each($options)) {
|
450 |
+
echo "$key => $val\n";
|
451 |
+
}
|
452 |
+
?>
|
453 |
+
|
454 |
+
## FACEBOOK API RESPONSE: ##
|
455 |
+
<?php echo $posts_json; ?>
|
456 |
+
</textarea>
|
457 |
|
458 |
<?php } ?>
|
459 |
|
579 |
'cff_event_title_link' => false,
|
580 |
'cff_video_action' => 'post',
|
581 |
'cff_app_id' => '',
|
582 |
+
'cff_show_credit' => '',
|
583 |
'cff_sep_color' => '',
|
584 |
'cff_sep_size' => '1',
|
585 |
|
751 |
$cff_class = $options[ 'cff_class' ];
|
752 |
$cff_open_links = $options[ 'cff_open_links' ];
|
753 |
$cff_app_id = $options[ 'cff_app_id' ];
|
754 |
+
$cff_show_credit = $options[ 'cff_show_credit' ];
|
755 |
$cff_preserve_settings = 'cff_preserve_settings';
|
756 |
$cff_preserve_settings_val = get_option( $cff_preserve_settings );
|
757 |
|
1084 |
|
1085 |
(isset($_POST[ $cff_ajax ])) ? $cff_ajax_val = $_POST[ 'cff_ajax' ] : $cff_ajax_val = '';
|
1086 |
if (isset($_POST[ 'cff_app_id' ])) $cff_app_id = $_POST[ 'cff_app_id' ];
|
1087 |
+
(isset($_POST[ 'cff_show_credit' ])) ? $cff_show_credit = $_POST[ 'cff_show_credit' ] : $cff_show_credit = '';
|
1088 |
$cff_preserve_settings_val = $_POST[ $cff_preserve_settings ];
|
1089 |
|
1090 |
//Meta
|
1114 |
|
1115 |
update_option( $cff_ajax, $cff_ajax_val );
|
1116 |
$options[ 'cff_app_id' ] = $cff_app_id;
|
1117 |
+
$options[ 'cff_show_credit' ] = $cff_show_credit;
|
1118 |
update_option( $cff_preserve_settings, $cff_preserve_settings_val );
|
1119 |
}
|
1120 |
//Update the Custom Text / Translate options
|
2487 |
<p class="cff-tooltip cff-more-info"><?php _e('When removing the plugin your settings are automatically deleted from your database. Checking this box will prevent any settings from being deleted. This means that you can uninstall and reinstall the plugin without losing your settings.'); ?></p>
|
2488 |
</td>
|
2489 |
</tr>
|
2490 |
+
<tr>
|
2491 |
+
<th class="bump-left"><label for="cff_show_credit" class="bump-left"><?php _e("Display credit link"); ?></label></th>
|
2492 |
+
<td>
|
2493 |
+
<input name="cff_show_credit" type="checkbox" id="cff_show_credit" <?php if($cff_show_credit == true) echo "checked"; ?> />
|
2494 |
+
<label for="cff_show_credit"><?php _e('Yes'); ?></label>
|
2495 |
+
<i style="color: #666; font-size: 11px; margin-left: 5px;"><?php _e('Display a link at the bottom of the feed to help promote the plugin'); ?></i>
|
2496 |
+
</td>
|
2497 |
+
</tr>
|
2498 |
</tbody>
|
2499 |
</table>
|
2500 |
|
2603 |
</table>
|
2604 |
|
2605 |
<?php submit_button(); ?>
|
2606 |
+
<a href="https://smashballoon.com/custom-facebook-feed/demo" target="_blank"><img src="<?php echo plugins_url( 'img/pro.png' , __FILE__ ) ?>" /></a>
|
2607 |
<?php } //End Custom Text tab ?>
|
2608 |
|
2609 |
</form>
|
2610 |
+
|
2611 |
+
<hr />
|
2612 |
+
<h3><?php _e('Like the plugin? Help spread the word!'); ?></h3>
|
2613 |
+
|
2614 |
+
<!-- TWITTER -->
|
2615 |
+
<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://wordpress.org/plugins/custom-facebook-feed/" data-text="Display your Facebook posts on your site your way using the Custom Facebook Feed WordPress plugin!" data-via="smashballoon" data-dnt="true">Tweet</a>
|
2616 |
+
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
2617 |
+
<style type="text/css">
|
2618 |
+
#twitter-widget-0{ float: left; width: 100px !important; }
|
2619 |
+
.IN-widget{ margin-right: 20px; }
|
2620 |
+
</style>
|
2621 |
+
|
2622 |
+
<!-- FACEBOOK -->
|
2623 |
+
<div id="fb-root" style="display: none;"></div>
|
2624 |
+
<script>(function(d, s, id) {
|
2625 |
+
var js, fjs = d.getElementsByTagName(s)[0];
|
2626 |
+
if (d.getElementById(id)) return;
|
2627 |
+
js = d.createElement(s); js.id = id;
|
2628 |
+
js.src = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&appId=640861236031365&version=v2.0";
|
2629 |
+
fjs.parentNode.insertBefore(js, fjs);
|
2630 |
+
}(document, 'script', 'facebook-jssdk'));</script>
|
2631 |
+
<div class="fb-like" data-href="https://wordpress.org/plugins/custom-facebook-feed/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true" style="display: block; float: left; margin-right: 20px;"></div>
|
2632 |
+
|
2633 |
+
<!-- LINKEDIN -->
|
2634 |
+
<script src="//platform.linkedin.com/in.js" type="text/javascript">
|
2635 |
+
lang: en_US
|
2636 |
+
</script>
|
2637 |
+
<script type="IN/Share" data-url="https://wordpress.org/plugins/custom-facebook-feed/"></script>
|
2638 |
+
|
2639 |
+
<!-- GOOGLE + -->
|
2640 |
+
<script src="https://apis.google.com/js/platform.js" async defer></script>
|
2641 |
+
<div class="g-plusone" data-size="medium" data-href="https://wordpress.org/plugins/custom-facebook-feed/"></div>
|
2642 |
+
|
2643 |
<?php
|
2644 |
} //End Style_Page
|
2645 |
//Enqueue admin styles
|
custom-facebook-feed.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Custom Facebook Feed
|
4 |
Plugin URI: http://smashballoon.com/custom-facebook-feed
|
5 |
Description: Add a completely customizable Facebook feed to your WordPress site
|
6 |
-
Version: 2.
|
7 |
Author: Smash Balloon
|
8 |
Author URI: http://smashballoon.com/
|
9 |
License: GPLv2 or later
|
@@ -146,6 +146,7 @@ function display_cff($atts) {
|
|
146 |
'likeboxheight' => isset($options[ 'cff_likebox_height' ]) ? $options[ 'cff_likebox_height' ] : '',
|
147 |
'likeboxfaces' => isset($options[ 'cff_like_box_faces' ]) ? $options[ 'cff_like_box_faces' ] : '',
|
148 |
'likeboxborder' => isset($options[ 'cff_like_box_border' ]) ? $options[ 'cff_like_box_border' ] : '',
|
|
|
149 |
|
150 |
//Page Header
|
151 |
'showheader' => isset($options[ 'cff_show_header' ]) ? $options[ 'cff_show_header' ] : '',
|
@@ -176,9 +177,15 @@ function display_cff($atts) {
|
|
176 |
$cff_page_type = $atts[ 'pagetype' ];
|
177 |
($cff_page_type == 'group') ? $cff_is_group = true : $cff_is_group = false;
|
178 |
|
179 |
-
$cff_feed_width = $atts['width'];
|
|
|
|
|
180 |
$cff_feed_height = $atts[ 'height' ];
|
|
|
|
|
181 |
$cff_feed_padding = $atts[ 'padding' ];
|
|
|
|
|
182 |
$cff_bg_color = $atts[ 'bgcolor' ];
|
183 |
$cff_show_author = $atts[ 'showauthornew' ];
|
184 |
$cff_cache_time = $atts[ 'cachetime' ];
|
@@ -404,6 +411,8 @@ function display_cff($atts) {
|
|
404 |
if ($cff_like_box_text_color == 'white') $cff_like_box_colorscheme = 'dark';
|
405 |
|
406 |
$cff_likebox_width = $atts[ 'likeboxwidth' ];
|
|
|
|
|
407 |
$cff_likebox_height = $atts[ 'likeboxheight' ];
|
408 |
$cff_likebox_height = preg_replace('/px$/', '', $cff_likebox_height);
|
409 |
|
@@ -429,6 +438,8 @@ function display_cff($atts) {
|
|
429 |
//Get feed header settings
|
430 |
$cff_header_bg_color = $atts['headerbg'];
|
431 |
$cff_header_padding = $atts['headerpadding'];
|
|
|
|
|
432 |
$cff_header_text_size = $atts['headertextsize'];
|
433 |
$cff_header_text_weight = $atts['headertextweight'];
|
434 |
$cff_header_text_color = $atts['headertextcolor'];
|
@@ -500,7 +511,7 @@ function display_cff($atts) {
|
|
500 |
//Get show posts attribute. If not set then default to 25
|
501 |
$show_posts = $atts['num'];
|
502 |
if (empty($show_posts)) $show_posts = 25;
|
503 |
-
if ( $show_posts ==
|
504 |
|
505 |
//If the 'Enter my own Access Token' box is unchecked then don't use the user's access token, even if there's one in the field
|
506 |
get_option('cff_show_access_token') ? $cff_show_access_token = true : $cff_show_access_token = false;
|
@@ -587,7 +598,7 @@ function display_cff($atts) {
|
|
587 |
( isset($cff_app_id) && !empty($cff_app_id) ) ? $cff_like_box_params = '&appId=' .$cff_app_id : $cff_like_box_params = '';
|
588 |
$like_box = '<div class="cff-likebox';
|
589 |
if ($cff_like_box_outside) $like_box .= ' cff-outside';
|
590 |
-
$like_box .= ($cff_like_box_position == 'top') ? ' top' : ' bottom';
|
591 |
$like_box .= '" ' . $cff_likebox_styles . '><script src="https://connect.facebook.net/' . $cff_locale . '/all.js#xfbml=1 '.$cff_like_box_params.'"></script><fb:like-box href="http://www.facebook.com/' . $page_id . '" show_faces="'.$cff_like_box_faces.'" stream="false" header="false" colorscheme="'. $cff_like_box_colorscheme .'" show_border="'. $cff_like_box_border .'" data-height="'.$cff_likebox_height.'"></fb:like-box><div id="fb-root"></div></div>';
|
592 |
//Don't show like box if it's a group
|
593 |
if($cff_is_group) $like_box = '';
|
@@ -607,7 +618,7 @@ function display_cff($atts) {
|
|
607 |
|
608 |
$cff_header = '<h3 class="cff-header';
|
609 |
if ($cff_header_outside) $cff_header .= ' cff-outside';
|
610 |
-
$cff_header .= '"' . $cff_header_styles . '>';
|
611 |
$cff_header .= '<i class="fa fa-' . $cff_header_icon . '"';
|
612 |
if(!empty($cff_header_icon_color) || !empty($cff_header_icon_size)) $cff_header .= ' style="';
|
613 |
if(!empty($cff_header_icon_color)) $cff_header .= 'color: #' . str_replace('#', '', $cff_header_icon_color) . ';';
|
@@ -617,6 +628,11 @@ function display_cff($atts) {
|
|
617 |
$cff_header .= '<span class="header-text" style="height: '.$cff_header_icon_size.'px;">' . $cff_header_text . '</span>';
|
618 |
$cff_header .= '</h3>';
|
619 |
|
|
|
|
|
|
|
|
|
|
|
620 |
|
621 |
//***START FEED***
|
622 |
$cff_content = '';
|
@@ -851,8 +867,11 @@ function display_cff($atts) {
|
|
851 |
$cff_translate_photos_text = $atts['photostext'];
|
852 |
if (!isset($cff_translate_photos_text) || empty($cff_translate_photos_text)) $cff_translate_photos_text = 'photos';
|
853 |
$cff_post_text = '<' . $cff_title_format . ' class="cff-post-text" ' . $cff_title_styles . '>';
|
854 |
-
|
|
|
|
|
855 |
if ($cff_title_link) $cff_post_text .= '<a class="cff-post-text-link" '.$cff_title_styles.' href="'.$link.'" '.$target.'>';
|
|
|
856 |
//Which content should we use?
|
857 |
$cff_post_text_type = '';
|
858 |
//Use the story
|
@@ -977,7 +996,7 @@ function display_cff($atts) {
|
|
977 |
if (!empty($body_limit)) {
|
978 |
if (strlen($description_text) > $body_limit) $description_text = substr($description_text, 0, $body_limit) . '...';
|
979 |
}
|
980 |
-
$cff_description .= '<p class="cff-post-desc" '.$cff_body_styles.'><span>' . cff_autolink( htmlspecialchars($description_text) ) . ' </span></p>';
|
981 |
|
982 |
//If the post text and description/caption are the same then don't show the description
|
983 |
if($post_text == $description_text) $cff_description = '';
|
@@ -1000,9 +1019,10 @@ function display_cff($atts) {
|
|
1000 |
//The link title:
|
1001 |
$cff_shared_link .= '"><'.$cff_link_title_format.' class="cff-link-title" '.$cff_link_title_styles.'><a href="'.$link.'" '.$target.' style="color:#' . str_replace('#', '', $cff_link_title_color) . ';">'. $news->name . '</a></'.$cff_link_title_format.'>';
|
1002 |
//The link source:
|
1003 |
-
|
|
|
1004 |
if ($cff_show_desc) {
|
1005 |
-
$cff_shared_link .= $cff_description;
|
1006 |
}
|
1007 |
$cff_shared_link .= '</div>';
|
1008 |
}
|
@@ -1219,6 +1239,11 @@ function display_cff($atts) {
|
|
1219 |
date_default_timezone_set( $cff_orig_timezone );
|
1220 |
//Add the Like Box inside
|
1221 |
if ($cff_like_box_position == 'bottom' && $cff_show_like_box && !$cff_like_box_outside) $cff_content .= $like_box;
|
|
|
|
|
|
|
|
|
|
|
1222 |
//End the feed
|
1223 |
$cff_content .= '</div><div class="cff-clear"></div>';
|
1224 |
//Add the Like Box outside
|
@@ -1632,7 +1657,7 @@ add_filter('widget_text', 'do_shortcode');
|
|
1632 |
add_action( 'wp_enqueue_scripts', 'cff_add_my_stylesheet' );
|
1633 |
function cff_add_my_stylesheet() {
|
1634 |
// Respects SSL, Style.css is relative to the current file
|
1635 |
-
wp_register_style( 'cff', plugins_url('css/cff-style.css?
|
1636 |
wp_enqueue_style( 'cff' );
|
1637 |
wp_enqueue_style( 'cff-font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', array(), '4.0.3' );
|
1638 |
}
|
@@ -1640,7 +1665,7 @@ function cff_add_my_stylesheet() {
|
|
1640 |
add_action( 'wp_enqueue_scripts', 'cff_scripts_method' );
|
1641 |
function cff_scripts_method() {
|
1642 |
//Register the script to make it available
|
1643 |
-
wp_register_script( 'cffscripts', plugins_url( '/js/cff-scripts.js?
|
1644 |
//Enqueue it to load it onto the page
|
1645 |
wp_enqueue_script('cffscripts');
|
1646 |
}
|
@@ -1902,7 +1927,7 @@ function cff_autolink_do($text, $link_color, $sub, $limit, $tagfill, $auto_title
|
|
1902 |
|
1903 |
|
1904 |
if( substr( $link_url_enc, 0, 4 ) !== "http" ) $link_url_enc = 'http://' . $link_url_enc;
|
1905 |
-
$buffer .= "<a target='_blank' style='color
|
1906 |
|
1907 |
|
1908 |
}else{
|
3 |
Plugin Name: Custom Facebook Feed
|
4 |
Plugin URI: http://smashballoon.com/custom-facebook-feed
|
5 |
Description: Add a completely customizable Facebook feed to your WordPress site
|
6 |
+
Version: 2.2
|
7 |
Author: Smash Balloon
|
8 |
Author URI: http://smashballoon.com/
|
9 |
License: GPLv2 or later
|
146 |
'likeboxheight' => isset($options[ 'cff_likebox_height' ]) ? $options[ 'cff_likebox_height' ] : '',
|
147 |
'likeboxfaces' => isset($options[ 'cff_like_box_faces' ]) ? $options[ 'cff_like_box_faces' ] : '',
|
148 |
'likeboxborder' => isset($options[ 'cff_like_box_border' ]) ? $options[ 'cff_like_box_border' ] : '',
|
149 |
+
'credit' => isset($options[ 'cff_show_credit' ]) ? $options[ 'cff_show_credit' ] : '',
|
150 |
|
151 |
//Page Header
|
152 |
'showheader' => isset($options[ 'cff_show_header' ]) ? $options[ 'cff_show_header' ] : '',
|
177 |
$cff_page_type = $atts[ 'pagetype' ];
|
178 |
($cff_page_type == 'group') ? $cff_is_group = true : $cff_is_group = false;
|
179 |
|
180 |
+
$cff_feed_width = $atts[ 'width' ];
|
181 |
+
if ( is_numeric(substr($cff_feed_width, -1, 1)) ) $cff_feed_width = $cff_feed_width . 'px';
|
182 |
+
|
183 |
$cff_feed_height = $atts[ 'height' ];
|
184 |
+
if ( is_numeric(substr($cff_feed_height, -1, 1)) ) $cff_feed_height = $cff_feed_height . 'px';
|
185 |
+
|
186 |
$cff_feed_padding = $atts[ 'padding' ];
|
187 |
+
if ( is_numeric(substr($cff_feed_padding, -1, 1)) ) $cff_feed_padding = $cff_feed_padding . 'px';
|
188 |
+
|
189 |
$cff_bg_color = $atts[ 'bgcolor' ];
|
190 |
$cff_show_author = $atts[ 'showauthornew' ];
|
191 |
$cff_cache_time = $atts[ 'cachetime' ];
|
411 |
if ($cff_like_box_text_color == 'white') $cff_like_box_colorscheme = 'dark';
|
412 |
|
413 |
$cff_likebox_width = $atts[ 'likeboxwidth' ];
|
414 |
+
if ( is_numeric(substr($cff_likebox_width, -1, 1)) ) $cff_likebox_width = $cff_likebox_width . 'px';
|
415 |
+
|
416 |
$cff_likebox_height = $atts[ 'likeboxheight' ];
|
417 |
$cff_likebox_height = preg_replace('/px$/', '', $cff_likebox_height);
|
418 |
|
438 |
//Get feed header settings
|
439 |
$cff_header_bg_color = $atts['headerbg'];
|
440 |
$cff_header_padding = $atts['headerpadding'];
|
441 |
+
if ( is_numeric(substr($cff_header_padding, -1, 1)) ) $cff_header_padding = $cff_header_padding . 'px';
|
442 |
+
|
443 |
$cff_header_text_size = $atts['headertextsize'];
|
444 |
$cff_header_text_weight = $atts['headertextweight'];
|
445 |
$cff_header_text_color = $atts['headertextcolor'];
|
511 |
//Get show posts attribute. If not set then default to 25
|
512 |
$show_posts = $atts['num'];
|
513 |
if (empty($show_posts)) $show_posts = 25;
|
514 |
+
if ( $show_posts == 'undefined' ) $show_posts = 25;
|
515 |
|
516 |
//If the 'Enter my own Access Token' box is unchecked then don't use the user's access token, even if there's one in the field
|
517 |
get_option('cff_show_access_token') ? $cff_show_access_token = true : $cff_show_access_token = false;
|
598 |
( isset($cff_app_id) && !empty($cff_app_id) ) ? $cff_like_box_params = '&appId=' .$cff_app_id : $cff_like_box_params = '';
|
599 |
$like_box = '<div class="cff-likebox';
|
600 |
if ($cff_like_box_outside) $like_box .= ' cff-outside';
|
601 |
+
$like_box .= ($cff_like_box_position == 'top') ? ' cff-top' : ' cff-bottom';
|
602 |
$like_box .= '" ' . $cff_likebox_styles . '><script src="https://connect.facebook.net/' . $cff_locale . '/all.js#xfbml=1 '.$cff_like_box_params.'"></script><fb:like-box href="http://www.facebook.com/' . $page_id . '" show_faces="'.$cff_like_box_faces.'" stream="false" header="false" colorscheme="'. $cff_like_box_colorscheme .'" show_border="'. $cff_like_box_border .'" data-height="'.$cff_likebox_height.'"></fb:like-box><div id="fb-root"></div></div>';
|
603 |
//Don't show like box if it's a group
|
604 |
if($cff_is_group) $like_box = '';
|
618 |
|
619 |
$cff_header = '<h3 class="cff-header';
|
620 |
if ($cff_header_outside) $cff_header .= ' cff-outside';
|
621 |
+
$cff_header .= '" ' . $cff_header_styles . '>';
|
622 |
$cff_header .= '<i class="fa fa-' . $cff_header_icon . '"';
|
623 |
if(!empty($cff_header_icon_color) || !empty($cff_header_icon_size)) $cff_header .= ' style="';
|
624 |
if(!empty($cff_header_icon_color)) $cff_header .= 'color: #' . str_replace('#', '', $cff_header_icon_color) . ';';
|
628 |
$cff_header .= '<span class="header-text" style="height: '.$cff_header_icon_size.'px;">' . $cff_header_text . '</span>';
|
629 |
$cff_header .= '</h3>';
|
630 |
|
631 |
+
//If the number of posts is set to zero then don't show any and set limit to one
|
632 |
+
if ( ($atts['num'] == '0' || $atts['num'] == 0) && $atts['num'] !== ''){
|
633 |
+
$show_posts = 0;
|
634 |
+
$cff_post_limit = 1;
|
635 |
+
}
|
636 |
|
637 |
//***START FEED***
|
638 |
$cff_content = '';
|
867 |
$cff_translate_photos_text = $atts['photostext'];
|
868 |
if (!isset($cff_translate_photos_text) || empty($cff_translate_photos_text)) $cff_translate_photos_text = 'photos';
|
869 |
$cff_post_text = '<' . $cff_title_format . ' class="cff-post-text" ' . $cff_title_styles . '>';
|
870 |
+
|
871 |
+
//Start HTML for post text
|
872 |
+
$cff_post_text .= '<span class="cff-text" rel="'.str_replace('#', '', $atts['textlinkcolor'] ).'">';
|
873 |
if ($cff_title_link) $cff_post_text .= '<a class="cff-post-text-link" '.$cff_title_styles.' href="'.$link.'" '.$target.'>';
|
874 |
+
|
875 |
//Which content should we use?
|
876 |
$cff_post_text_type = '';
|
877 |
//Use the story
|
996 |
if (!empty($body_limit)) {
|
997 |
if (strlen($description_text) > $body_limit) $description_text = substr($description_text, 0, $body_limit) . '...';
|
998 |
}
|
999 |
+
$cff_description .= '<p class="cff-post-desc" '.$cff_body_styles.'><span>' . cff_autolink( htmlspecialchars($description_text), $link_color=str_replace('#', '', $atts['textlinkcolor']) ) . ' </span></p>';
|
1000 |
|
1001 |
//If the post text and description/caption are the same then don't show the description
|
1002 |
if($post_text == $description_text) $cff_description = '';
|
1019 |
//The link title:
|
1020 |
$cff_shared_link .= '"><'.$cff_link_title_format.' class="cff-link-title" '.$cff_link_title_styles.'><a href="'.$link.'" '.$target.' style="color:#' . str_replace('#', '', $cff_link_title_color) . ';">'. $news->name . '</a></'.$cff_link_title_format.'>';
|
1021 |
//The link source:
|
1022 |
+
(!empty($news->caption)) ? $cff_link_caption = $news->caption : $cff_link_caption = '';
|
1023 |
+
if(!empty($cff_link_caption)) $cff_shared_link .= '<p class="cff-link-caption" style="color:#' . str_replace('#', '', $cff_link_url_color) . ';">'.$cff_link_caption.'</p>';
|
1024 |
if ($cff_show_desc) {
|
1025 |
+
if( $description_text != $cff_link_caption ) $cff_shared_link .= $cff_description;
|
1026 |
}
|
1027 |
$cff_shared_link .= '</div>';
|
1028 |
}
|
1239 |
date_default_timezone_set( $cff_orig_timezone );
|
1240 |
//Add the Like Box inside
|
1241 |
if ($cff_like_box_position == 'bottom' && $cff_show_like_box && !$cff_like_box_outside) $cff_content .= $like_box;
|
1242 |
+
/* Credit link */
|
1243 |
+
$cff_show_credit = $atts['credit'];
|
1244 |
+
($cff_show_credit == 'true' || $cff_show_credit == 'on') ? $cff_show_credit = true : $cff_show_credit = false;
|
1245 |
+
|
1246 |
+
if($cff_show_credit) $cff_content .= '<p class="cff-credit"><a href="https://smashballoon.com/custom-facebook-feed/" target="_blank" style="color: #'.$link_color=str_replace('#', '', $atts['textlinkcolor'] ).'"><i class="fa fa-facebook-square"></i>The Custom Facebook Feed plugin</a></p>';
|
1247 |
//End the feed
|
1248 |
$cff_content .= '</div><div class="cff-clear"></div>';
|
1249 |
//Add the Like Box outside
|
1657 |
add_action( 'wp_enqueue_scripts', 'cff_add_my_stylesheet' );
|
1658 |
function cff_add_my_stylesheet() {
|
1659 |
// Respects SSL, Style.css is relative to the current file
|
1660 |
+
wp_register_style( 'cff', plugins_url('css/cff-style.css?10', __FILE__) );
|
1661 |
wp_enqueue_style( 'cff' );
|
1662 |
wp_enqueue_style( 'cff-font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', array(), '4.0.3' );
|
1663 |
}
|
1665 |
add_action( 'wp_enqueue_scripts', 'cff_scripts_method' );
|
1666 |
function cff_scripts_method() {
|
1667 |
//Register the script to make it available
|
1668 |
+
wp_register_script( 'cffscripts', plugins_url( '/js/cff-scripts.js?10' , __FILE__ ), array('jquery'), '1.9', true );
|
1669 |
//Enqueue it to load it onto the page
|
1670 |
wp_enqueue_script('cffscripts');
|
1671 |
}
|
1927 |
|
1928 |
|
1929 |
if( substr( $link_url_enc, 0, 4 ) !== "http" ) $link_url_enc = 'http://' . $link_url_enc;
|
1930 |
+
$buffer .= "<a target='_blank' style='color:#".$link_color."' href=\"{$link_url_enc}\"$tagfill>{$display_url_enc}</a>";
|
1931 |
|
1932 |
|
1933 |
}else{
|
js/cff-scripts.js
CHANGED
@@ -48,6 +48,7 @@ jQuery(document).ready(function() {
|
|
48 |
$more.show();
|
49 |
$less.hide();
|
50 |
}
|
|
|
51 |
});
|
52 |
|
53 |
//Hide the shared link box if it's empty
|
@@ -56,25 +57,36 @@ jQuery(document).ready(function() {
|
|
56 |
$sharedLink.remove();
|
57 |
}
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
|
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
75 |
|
76 |
-
|
77 |
-
|
|
|
|
|
78 |
|
79 |
});
|
80 |
});
|
48 |
$more.show();
|
49 |
$less.hide();
|
50 |
}
|
51 |
+
cffLinkHashtags();
|
52 |
});
|
53 |
|
54 |
//Hide the shared link box if it's empty
|
57 |
$sharedLink.remove();
|
58 |
}
|
59 |
|
60 |
+
function cffLinkHashtags(){
|
61 |
+
//Link hashtags
|
62 |
+
var cffTextStr = $self.find('.cff-text').html(),
|
63 |
+
cffDescStr = $self.find('.cff-post-desc').html(),
|
64 |
+
regex = /(^|\s)#(\w*[a-zA-Z_]+\w*)/gi,
|
65 |
+
linkcolor = $self.find('.cff-text').attr('rel');
|
66 |
|
67 |
+
function replacer(hash){
|
68 |
+
//Remove white space at beginning of hash
|
69 |
+
var replacementString = jQuery.trim(hash);
|
70 |
+
//If the hash is a hex code then don't replace it with a link as it's likely in the style attr, eg: "color: #ff0000"
|
71 |
+
if ( /^#[0-9A-F]{6}$/i.test( replacementString ) ){
|
72 |
+
return replacementString;
|
73 |
+
} else {
|
74 |
+
return ' <a href="https://www.facebook.com/hashtag/'+ replacementString.substring(1) +'" target="_blank" style="color:#' + linkcolor + '">' + replacementString + '</a>';
|
75 |
+
}
|
76 |
+
}
|
77 |
|
78 |
+
if(cfflinkhashtags == 'true'){
|
79 |
+
//Replace hashtags in text
|
80 |
+
var $cffText = $self.find('.cff-text');
|
81 |
+
//Add a space after all <br> tags so that #hashtags immediatelly after them are also converted to hashtag links. Without the space they aren't captured by the regex.
|
82 |
+
cffTextStr = cffTextStr.replace(/<br>/g, "<br> ");
|
83 |
+
if($cffText.length > 0) $cffText.html( cffTextStr.replace( regex , replacer ) );
|
84 |
+
}
|
85 |
|
86 |
+
//Replace hashtags in desc
|
87 |
+
if( $self.find('.cff-post-desc').length > 0 ) $self.find('.cff-post-desc').html( cffDescStr.replace( regex , replacer ) );
|
88 |
+
}
|
89 |
+
cffLinkHashtags();
|
90 |
|
91 |
});
|
92 |
});
|