Version Description
Download this release
Release Info
Developer | smashballoon |
Plugin | Custom Facebook Feed |
Version | 1.12.1 |
Comparing to | |
See all releases |
Code changes from version 2.12 to 1.12.1
- README.txt +7 -1
- css/cff-admin-style.css +18 -2
- custom-facebook-feed-admin.php +5 -3
- custom-facebook-feed.php +2 -2
- js/cff-admin-scripts.js +36 -11
README.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: Facebook, Facebook feed, Facebook posts, Facebook wall, Facebook page
|
|
4 |
Requires at least: 3.0
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 5.3
|
7 |
-
Stable tag: 2.12
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -255,6 +255,12 @@ The most common reason for this is that an add-on or extension you have installe
|
|
255 |
9. It's super easy to display your Facebook feed in any page or post
|
256 |
|
257 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
= 2.12 =
|
259 |
* New: Added a backup cache so the feed will still display even if there's an error from the Facebook API.
|
260 |
* New: You can now easily manage multiple page or group accounts on the plugin settings page allowing you to easily add them to other feeds on your site. When you connect a page or group you will now see it listed in the "Connected Accounts" section. You can add it to the primary feed or to another feed by using the new `account` shortcode option.
|
4 |
Requires at least: 3.0
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 5.3
|
7 |
+
Stable tag: 2.12.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
255 |
9. It's super easy to display your Facebook feed in any page or post
|
256 |
|
257 |
== Changelog ==
|
258 |
+
= 2.12.1 =
|
259 |
+
* Fix: Fixed a rare issue where a JavaScript error would occur in the WordPress admin if a Facebook account was manually connected and the Page ID used was the full URL
|
260 |
+
* Fix: Fixed a JavaScript error in the admin when using older web browsers
|
261 |
+
* Tweak: Improved the manual account connection process
|
262 |
+
* Tweak: Some minor UI tweaks to match the new WordPress 5.3 UI style
|
263 |
+
|
264 |
= 2.12 =
|
265 |
* New: Added a backup cache so the feed will still display even if there's an error from the Facebook API.
|
266 |
* New: You can now easily manage multiple page or group accounts on the plugin settings page allowing you to easily add them to other feeds on your site. When you connect a page or group you will now see it listed in the "Connected Accounts" section. You can add it to the primary feed or to another feed by using the new `account` shortcode option.
|
css/cff-admin-style.css
CHANGED
@@ -1470,6 +1470,8 @@
|
|
1470 |
width: 80%;
|
1471 |
display: inline-block;
|
1472 |
margin-left: 0;
|
|
|
|
|
1473 |
}
|
1474 |
#cff-admin a.cff_ca_token_shortcode,
|
1475 |
#cff-admin .cff_make_primary,
|
@@ -1646,9 +1648,15 @@
|
|
1646 |
border: 1px solid #ddd;
|
1647 |
border-radius: 5px;
|
1648 |
}
|
1649 |
-
#cff-admin #cff_manual_account p.submit
|
|
|
|
|
1650 |
padding: 0;
|
1651 |
-
margin: 20px
|
|
|
|
|
|
|
|
|
1652 |
}
|
1653 |
#cff-admin .cff_account_type_page .cff_group,
|
1654 |
#cff-admin .cff_account_type_group .cff_page{
|
@@ -1661,6 +1669,14 @@
|
|
1661 |
#cff-admin #cff_manual_account_step_2 input[type=text] {
|
1662 |
width: 300px;
|
1663 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1664 |
|
1665 |
@media all and (max-width: 1200px){
|
1666 |
#cff-admin .cff_delete_account .cff_remove_text{
|
1470 |
width: 80%;
|
1471 |
display: inline-block;
|
1472 |
margin-left: 0;
|
1473 |
+
min-height: 10px;
|
1474 |
+
line-height: 1.4;
|
1475 |
}
|
1476 |
#cff-admin a.cff_ca_token_shortcode,
|
1477 |
#cff-admin .cff_make_primary,
|
1648 |
border: 1px solid #ddd;
|
1649 |
border-radius: 5px;
|
1650 |
}
|
1651 |
+
#cff-admin #cff_manual_account p.submit,
|
1652 |
+
#cff-admin .cff_manual_back{
|
1653 |
+
float: left;
|
1654 |
padding: 0;
|
1655 |
+
margin: 20px 5px 0 0;
|
1656 |
+
}
|
1657 |
+
#cff-admin .cff_manual_back{
|
1658 |
+
display: block;
|
1659 |
+
padding: 0 10px;
|
1660 |
}
|
1661 |
#cff-admin .cff_account_type_page .cff_group,
|
1662 |
#cff-admin .cff_account_type_group .cff_page{
|
1669 |
#cff-admin #cff_manual_account_step_2 input[type=text] {
|
1670 |
width: 300px;
|
1671 |
}
|
1672 |
+
#cff-admin .cff_manual_forward{
|
1673 |
+
position: relative;
|
1674 |
+
top: 2px;
|
1675 |
+
}
|
1676 |
+
#cff-admin .cff_error{
|
1677 |
+
border: 1px solid #e37177;
|
1678 |
+
background: #ffebec;
|
1679 |
+
}
|
1680 |
|
1681 |
@media all and (max-width: 1200px){
|
1682 |
#cff-admin .cff_delete_account .cff_remove_text{
|
custom-facebook-feed-admin.php
CHANGED
@@ -408,21 +408,22 @@ function cff_settings_page() {
|
|
408 |
<option value="page"><?php _e('Page'); ?></option>
|
409 |
<option value="group"><?php _e('Group'); ?></option>
|
410 |
</select>
|
|
|
411 |
</div>
|
412 |
|
413 |
<div id="cff_manual_account_step_2" class="cff_account_type_page">
|
414 |
<div>
|
415 |
<label for="cff_manual_account_name"><span class="cff_page"><?php _e('Page'); ?></span><span class="cff_group"><?php _e('Group'); ?></span> <?php _e('Name'); ?> <span style="font-size: 11px;"><?php _e('(optional)'); ?></span></label>
|
416 |
-
<input name="cff_manual_account_name" id="cff_manual_account_name" type="text" value="" />
|
417 |
<a class="cff-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
418 |
<p class="cff-tooltip cff-more-info"><?php _e('This is just for labeling the account here on this settings page'); ?></p>
|
419 |
</div>
|
420 |
|
421 |
<div>
|
422 |
<label for="cff_manual_account_id"><span class="cff_page"><?php _e('Page'); ?></span><span class="cff_group"><?php _e('Group'); ?></span> <?php _e('ID'); ?></label>
|
423 |
-
<input name="cff_manual_account_id" id="cff_manual_account_id" type="text" value="" />
|
424 |
<a class="cff-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
425 |
-
<p class="cff-tooltip cff-more-info"><?php _e('The ID of the Facebook'); ?> <span class="cff_page"><?php _e('Page'); ?></span><span class="cff_group"><?php _e('Group'); ?></span> <?php _e('you want to add'); ?></p>
|
426 |
</div>
|
427 |
|
428 |
<div>
|
@@ -436,6 +437,7 @@ function cff_settings_page() {
|
|
436 |
$cff_submit_btn_atts = array( 'disabled' => 'true' );
|
437 |
submit_button('Connect Account', 'primary', 'submit', true, $cff_submit_btn_atts);
|
438 |
?>
|
|
|
439 |
</div>
|
440 |
|
441 |
</div>
|
408 |
<option value="page"><?php _e('Page'); ?></option>
|
409 |
<option value="group"><?php _e('Group'); ?></option>
|
410 |
</select>
|
411 |
+
<a href="javascript:void(0);" class="cff_manual_forward button-primary"><i class="fa fa-chevron-right" aria-hidden="true"></i></a>
|
412 |
</div>
|
413 |
|
414 |
<div id="cff_manual_account_step_2" class="cff_account_type_page">
|
415 |
<div>
|
416 |
<label for="cff_manual_account_name"><span class="cff_page"><?php _e('Page'); ?></span><span class="cff_group"><?php _e('Group'); ?></span> <?php _e('Name'); ?> <span style="font-size: 11px;"><?php _e('(optional)'); ?></span></label>
|
417 |
+
<input name="cff_manual_account_name" id="cff_manual_account_name" type="text" value="" placeholder="Eg: John's Facebook Page" />
|
418 |
<a class="cff-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
419 |
<p class="cff-tooltip cff-more-info"><?php _e('This is just for labeling the account here on this settings page'); ?></p>
|
420 |
</div>
|
421 |
|
422 |
<div>
|
423 |
<label for="cff_manual_account_id"><span class="cff_page"><?php _e('Page'); ?></span><span class="cff_group"><?php _e('Group'); ?></span> <?php _e('ID'); ?></label>
|
424 |
+
<input name="cff_manual_account_id" id="cff_manual_account_id" type="text" value="" placeholder="Eg: 1234567890123 or smashballoon" />
|
425 |
<a class="cff-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
426 |
+
<p class="cff-tooltip cff-more-info"><?php _e('The ID of the Facebook'); ?> <span class="cff_page"><?php _e('Page'); ?></span><span class="cff_group"><?php _e('Group'); ?></span> <?php _e('you want to add.'); ?> <a href='https://smashballoon.com/custom-facebook-feed/id/'><?php _e("How do I find my Page ID?"); ?></a></p>
|
427 |
</div>
|
428 |
|
429 |
<div>
|
437 |
$cff_submit_btn_atts = array( 'disabled' => 'true' );
|
438 |
submit_button('Connect Account', 'primary', 'submit', true, $cff_submit_btn_atts);
|
439 |
?>
|
440 |
+
<a href="javascript:void(0);" class="cff_manual_back button-secondary">Back</a>
|
441 |
</div>
|
442 |
|
443 |
</div>
|
custom-facebook-feed.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Smash Balloon Custom Facebook Feed
|
4 |
Plugin URI: https://smashballoon.com/custom-facebook-feed
|
5 |
Description: Add completely customizable Facebook feeds to your WordPress site
|
6 |
-
Version: 2.12
|
7 |
Author: Smash Balloon
|
8 |
Author URI: http://smashballoon.com/
|
9 |
License: GPLv2 or later
|
@@ -24,7 +24,7 @@ along with this program; if not, write to the Free Software
|
|
24 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
25 |
*/
|
26 |
|
27 |
-
define('CFFVER', '2.12');
|
28 |
|
29 |
// Db version.
|
30 |
if ( ! defined( 'CFF_DBVERSION' ) ) {
|
3 |
Plugin Name: Smash Balloon Custom Facebook Feed
|
4 |
Plugin URI: https://smashballoon.com/custom-facebook-feed
|
5 |
Description: Add completely customizable Facebook feeds to your WordPress site
|
6 |
+
Version: 2.12.1
|
7 |
Author: Smash Balloon
|
8 |
Author URI: http://smashballoon.com/
|
9 |
License: GPLv2 or later
|
24 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
25 |
*/
|
26 |
|
27 |
+
define('CFFVER', '2.12.1');
|
28 |
|
29 |
// Db version.
|
30 |
if ( ! defined( 'CFF_DBVERSION' ) ) {
|
js/cff-admin-scripts.js
CHANGED
@@ -316,21 +316,33 @@ jQuery(document).ready(function($) {
|
|
316 |
|
317 |
//Manually connect account
|
318 |
//Step 1
|
319 |
-
$('#cff_manual_account_button').on('click', function(e){
|
320 |
e.preventDefault();
|
321 |
-
$('#cff_manual_account').toggle();
|
322 |
$('#cff_manual_account_step_1').show();
|
323 |
$('#cff_manual_account_step_2').hide();
|
324 |
});
|
325 |
//Step 2
|
326 |
jQuery("#cff_manual_account_type").change(function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
327 |
$('#cff_manual_account_step_2').attr('class', 'cff_account_type_'+jQuery("#cff_manual_account_type option:selected").val() );
|
328 |
|
329 |
$('#cff_manual_account_step_1').hide();
|
330 |
$('#cff_manual_account_step_2').show();
|
331 |
-
}
|
|
|
332 |
//Add account
|
333 |
-
$('#cff_manual_account_step_2 input[type=submit').on('click', function(e){
|
334 |
e.preventDefault();
|
335 |
|
336 |
var $cff_manual_account = $('#cff_manual_account');
|
@@ -364,6 +376,8 @@ jQuery(document).ready(function($) {
|
|
364 |
|
365 |
if( pagetype == 'page' ) avatar = '';
|
366 |
|
|
|
|
|
367 |
//Add to connected accounts array
|
368 |
cff_connected_accounts[id] = {
|
369 |
id: id,
|
@@ -394,6 +408,21 @@ jQuery(document).ready(function($) {
|
|
394 |
$account.remove();
|
395 |
}
|
396 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
397 |
function createAccountHTML(cff_connected_accounts){
|
398 |
|
399 |
var accountsHTML = '';
|
@@ -402,7 +431,7 @@ jQuery(document).ready(function($) {
|
|
402 |
for (var key in cff_connected_accounts) {
|
403 |
if (cff_connected_accounts.hasOwnProperty(key)) {
|
404 |
|
405 |
-
var id = cff_connected_accounts[key]['id'],
|
406 |
name = decodeURI(cff_connected_accounts[key]['name']),
|
407 |
pagetype = cff_connected_accounts[key]['pagetype'],
|
408 |
accesstoken = cff_connected_accounts[key]['accesstoken'],
|
@@ -605,16 +634,12 @@ jQuery(document).ready(function($) {
|
|
605 |
|
606 |
if( cff_current_page_id_arr.length > 1 ){
|
607 |
for (var i = 0; i < cff_current_page_id_arr.length; i++) {
|
608 |
-
|
609 |
}
|
610 |
} else {
|
611 |
-
|
612 |
}
|
613 |
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
//Show the modal by default, but hide if the "cffnomodal" class is added to prevent it showing after saving settings
|
619 |
if( location.hash !== '#cffnomodal' ){
|
620 |
$('.cff_modal_tokens').removeClass('cffnomodal');
|
316 |
|
317 |
//Manually connect account
|
318 |
//Step 1
|
319 |
+
$('#cff_manual_account_button, #cff-admin .cff_manual_back').on('click', function(e){
|
320 |
e.preventDefault();
|
321 |
+
if( !$(this).hasClass('cff_manual_back') ) $('#cff_manual_account').toggle();
|
322 |
$('#cff_manual_account_step_1').show();
|
323 |
$('#cff_manual_account_step_2').hide();
|
324 |
});
|
325 |
//Step 2
|
326 |
jQuery("#cff_manual_account_type").change(function() {
|
327 |
+
cff_go_to_step_2();
|
328 |
+
});
|
329 |
+
$('#cff-admin .cff_manual_forward').on('click', function(){
|
330 |
+
if( $("#cff_manual_account_type option:selected").val() ){
|
331 |
+
cff_go_to_step_2();
|
332 |
+
} else {
|
333 |
+
$("#cff_manual_account_type").addClass('cff_error');
|
334 |
+
setTimeout(function(){ $("#cff_manual_account_type").removeClass('cff_error'); }, 500);
|
335 |
+
}
|
336 |
+
});
|
337 |
+
function cff_go_to_step_2(){
|
338 |
$('#cff_manual_account_step_2').attr('class', 'cff_account_type_'+jQuery("#cff_manual_account_type option:selected").val() );
|
339 |
|
340 |
$('#cff_manual_account_step_1').hide();
|
341 |
$('#cff_manual_account_step_2').show();
|
342 |
+
}
|
343 |
+
|
344 |
//Add account
|
345 |
+
$('#cff_manual_account_step_2 input[type=submit]').on('click', function(e){
|
346 |
e.preventDefault();
|
347 |
|
348 |
var $cff_manual_account = $('#cff_manual_account');
|
376 |
|
377 |
if( pagetype == 'page' ) avatar = '';
|
378 |
|
379 |
+
id = cffStripURLParts(id);
|
380 |
+
|
381 |
//Add to connected accounts array
|
382 |
cff_connected_accounts[id] = {
|
383 |
id: id,
|
408 |
$account.remove();
|
409 |
}
|
410 |
|
411 |
+
function cffStripURLParts(string){
|
412 |
+
if (typeof string === 'undefined') {
|
413 |
+
return '';
|
414 |
+
}
|
415 |
+
//If user pastes their full URL into the Page ID field then strip it out
|
416 |
+
var cff_facebook_string = 'facebook.com',
|
417 |
+
hasURL = (string.indexOf(cff_facebook_string) > -1);
|
418 |
+
if (hasURL) {
|
419 |
+
var stringArr = string.split('?')[0].replace(/\/$/, '').split('/');
|
420 |
+
string = stringArr[stringArr.length-1].replace(/[\.\/]/,'');
|
421 |
+
}
|
422 |
+
|
423 |
+
return string;
|
424 |
+
}
|
425 |
+
|
426 |
function createAccountHTML(cff_connected_accounts){
|
427 |
|
428 |
var accountsHTML = '';
|
431 |
for (var key in cff_connected_accounts) {
|
432 |
if (cff_connected_accounts.hasOwnProperty(key)) {
|
433 |
|
434 |
+
var id = cffStripURLParts(cff_connected_accounts[key]['id']),
|
435 |
name = decodeURI(cff_connected_accounts[key]['name']),
|
436 |
pagetype = cff_connected_accounts[key]['pagetype'],
|
437 |
accesstoken = cff_connected_accounts[key]['accesstoken'],
|
634 |
|
635 |
if( cff_current_page_id_arr.length > 1 ){
|
636 |
for (var i = 0; i < cff_current_page_id_arr.length; i++) {
|
637 |
+
cffLabelAsPrimary( $('#cff_connected_account_' + cffStripURLParts(cff_current_page_id_arr[i].trim()) ), true );
|
638 |
}
|
639 |
} else {
|
640 |
+
cffLabelAsPrimary( $('#cff_connected_account_' + cffStripURLParts(cff_current_page_id) ), true );
|
641 |
}
|
642 |
|
|
|
|
|
|
|
|
|
643 |
//Show the modal by default, but hide if the "cffnomodal" class is added to prevent it showing after saving settings
|
644 |
if( location.hash !== '#cffnomodal' ){
|
645 |
$('.cff_modal_tokens').removeClass('cffnomodal');
|