Responsive Facebook Page Plugin - Version 1.3.4

Version Description

  • Fixed typo in widget
  • Fixed labels in widget
  • Changed languages to load from a local file instead of Facebook's Locales XML file. This fixes the issue where approximately 40 languages were supported by Facebook but not for the page plugin, and also users working locally without internet access are now able to change the language from default.
  • Re-introduced App ID, while it should not be needed it appears that removing it has affected some sites.
Download this release

Release Info

Developer cameronjonesweb
Plugin Icon 128x128 Responsive Facebook Page Plugin
Version 1.3.4
Comparing to
See all releases

Code changes from version 1.3.3 to 1.3.4

Files changed (3) hide show
  1. facebook-page-feed-graph-api.php +26 -22
  2. lang.xml +572 -0
  3. readme.txt +12 -2
facebook-page-feed-graph-api.php CHANGED
@@ -2,8 +2,8 @@
2
  /**
3
  * Plugin Name: Facebook Page Plugin
4
  * Plugin URI: https://cameronjones.x10.mx/projects/facebook-page-plugin
5
- * Description: It's time to upgrade from your old like box! Display the Facebook Page Plugin from the Graph API using a shortcode or widget. Now available in 136 different languages
6
- * Version: 1.3.3
7
  * Author: Cameron Jones
8
  * Author URI: http://cameronjones.x10.mx
9
  * License: GPLv2
@@ -47,8 +47,8 @@ function facebook_page_plugin( $filter ) {
47
  ), $filter );
48
  if(isset($a['href']) && !empty($a['href'])){
49
  $a['language'] = str_replace("-", "_", $a['language']);
50
- $return .= '<div id="fb-root" data-version="1.3.3"></div><script async>(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = "//connect.facebook.net/' . $a['language'] . '/sdk.js#xfbml=1&version=v2.4";fjs.parentNode.insertBefore(js, fjs); }(document, \'script\', \'facebook-jssdk\'));</script>';
51
- $return .= '<div class="fb-page" data-version="1.3.3" data-href="https://facebook.com/' . $a["href"] . '" ';
52
  if(isset($a['width']) && !empty($a['width'])){
53
  $return .= ' data-width="' . $a['width'] . '"';
54
  }
@@ -90,7 +90,8 @@ function facebook_page_plugin_dashboard_widget() {
90
 
91
  function facebook_page_plugin_dashboard_widget_callback() {
92
  try {
93
- $lang_xml = file_get_contents('https://www.facebook.com/translations/FacebookLocales.xml');
 
94
  }catch(Exception $ex){
95
  $lang_xml = NULL;
96
  }
@@ -112,7 +113,8 @@ function facebook_page_plugin_dashboard_widget_callback() {
112
  echo '<p><label>Language: <select id="fbpp-lang" /><option value="">Site Language</option>';
113
  if(isset($langs) && !empty($langs)){
114
  foreach($langs as $lang){
115
- echo '<option value="' . $lang->codes->code->standard->representation . '">' . $lang->englishName . '</option>';
 
116
  }
117
  }
118
  echo '</label></p>';
@@ -130,7 +132,7 @@ class facebook_page_plugin_widget extends WP_Widget {
130
  private $facebookURLs = array('https://www.facebook.com/', 'https://facebook.com/', 'www.facebook.com/', 'facebook.com/');
131
 
132
  function __construct() {
133
- parent::__construct( 'facebook_page_plugin_widget', __('Facebook Page Plugin', 'facebook_page_plugin'), array( 'description' => __( 'Generates a Facebook Page feed in your widget area', 'facebook_page_plugin' ), ) );
134
  }
135
  public function widget( $args, $instance ) {
136
  $title = apply_filters( 'widget_title', $instance['title'] );
@@ -229,7 +231,7 @@ class facebook_page_plugin_widget extends WP_Widget {
229
  if ( isset( $instance[ 'title' ] ) ) {
230
  $title = $instance[ 'title' ];
231
  } else {
232
- $title = __( 'New title', 'facebook_page_plugin' );
233
  }
234
  if ( isset( $instance[ 'href' ] ) ) {
235
  $href = $instance[ 'href' ];
@@ -282,7 +284,8 @@ class facebook_page_plugin_widget extends WP_Widget {
282
  $language = '';
283
  }
284
  try {
285
- $lang_xml = file_get_contents('https://www.facebook.com/translations/FacebookLocales.xml');
 
286
  }catch(Exception $ex){
287
  $lang_xml = NULL;
288
  }
@@ -295,71 +298,72 @@ class facebook_page_plugin_widget extends WP_Widget {
295
  echo '<label for="' . $this->get_field_id( 'title' ) . '">';
296
  echo _e( 'Title:' );
297
  echo '</label>';
298
- echo '<input class="widefat" id="<?php' . $this->get_field_id( 'title' ) . '" name="' . $this->get_field_name( 'title' ) . '" type="text" value="' . esc_attr( $title ) . '" />';
299
  echo '</p>';
300
  echo '<p>';
301
- echo '<label for="<?php' . $this->get_field_id( 'href' ) . '">';
302
  echo _e( 'Page URL:' );
303
  echo '</label>';
304
  echo '<input class="widefat" id="' . $this->get_field_id( 'href' ) . '" name="' . $this->get_field_name( 'href' ) . '" type="url" value="' . esc_attr( $href ) . '" required />';
305
  echo '</p>';
306
  echo '<p>';
307
- echo '<label for="<?php' . $this->get_field_id( 'width' ) . '">';
308
  echo _e( 'Width:' );
309
  echo '</label>';
310
  echo '<input class="widefat" id="' . $this->get_field_id( 'width' ) . '" name="' . $this->get_field_name( 'width' ) . '" type="number" min="180" max="500" value="' . esc_attr( $width ) . '" />';
311
  echo '</p>';
312
  echo '<p>';
313
- echo '<label for="<?php' . $this->get_field_id( 'height' ) . '">';
314
  echo _e( 'Height:' );
315
  echo '</label>';
316
  echo '<input class="widefat" id="' . $this->get_field_id( 'height' ) . '" name="' . $this->get_field_name( 'height' ) . '" type="number" min="70" value="' . esc_attr( $height ) . '" />';
317
  echo '</p>';
318
  echo '<p>';
319
- echo '<label for="<?php' . $this->get_field_id( 'cover' ) . '">';
320
  echo _e( 'Cover Photo:' );
321
  echo '</label>';
322
  echo ' <input class="widefat" id="' . $this->get_field_id( 'cover' ) . '" name="' . $this->get_field_name( 'cover' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $cover ), 'true', false ) . ' />';
323
  echo '</p>';
324
  echo '<p>';
325
- echo '<label for="<?php' . $this->get_field_id( 'facepile' ) . '">';
326
  echo _e( 'Show Facepile:' );
327
  echo '</label>';
328
  echo ' <input class="widefat" id="' . $this->get_field_id( 'facepile' ) . '" name="' . $this->get_field_name( 'facepile' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $facepile ), 'true', false ) . ' />';
329
  echo '</p>';
330
  echo '<p>';
331
- echo '<label for="<?php' . $this->get_field_id( 'posts' ) . '">';
332
  echo _e( 'Show Posts:' );
333
  echo '</label>';
334
  echo ' <input class="widefat" id="' . $this->get_field_id( 'posts' ) . '" name="' . $this->get_field_name( 'posts' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $posts ), 'true', false ) . ' />';
335
  echo '</p>';
336
  echo '<p>';
337
- echo '<label for="<?php' . $this->get_field_id( 'cta' ) . '">';
338
  echo _e( 'Hide Call To Action:' );
339
  echo '</label>';
340
  echo ' <input class="widefat" id="' . $this->get_field_id( 'cta' ) . '" name="' . $this->get_field_name( 'cta' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $cta ), 'true', false ) . ' />';
341
  echo '</p>';
342
  echo '<p>';
343
- echo '<label for="<?php' . $this->get_field_id( 'small' ) . '">';
344
  echo _e( 'Small Header:' );
345
  echo '</label>';
346
  echo ' <input class="widefat" id="' . $this->get_field_id( 'small' ) . '" name="' . $this->get_field_name( 'small' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $small ), 'true', false ) . ' />';
347
  echo '</p>';
348
  echo '<p>';
349
- echo '<label for="<?php' . $this->get_field_id( 'adapt' ) . '">';
350
  echo _e( 'Adaptive Width:' );
351
  echo '</label>';
352
  echo ' <input class="widefat" id="' . $this->get_field_id( 'adapt' ) . '" name="' . $this->get_field_name( 'adapt' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $adapt ), 'true', false ) . ' />';
353
  echo '</p>';
354
  echo '<p>';
355
- echo '<label for="<?php' . $this->get_field_id( 'language' ) . '">';
356
  echo _e( 'Language:' );
357
  echo '</label>';
358
  echo '<select class="widefat" id="' . $this->get_field_id( 'language' ) . '" name="' . $this->get_field_name( 'language' ) . '">';
359
- echo '<option value="">Site Lanugage (default)</option>';
360
  if(isset($langs) && !empty($langs)){
361
  foreach($langs as $lang){
362
- echo '<option value="' . $lang->codes->code->standard->representation . '"' . selected( esc_attr( $language ), $lang->codes->code->standard->representation, false ) . '>' . $lang->englishName . '</option>';
 
363
  }
364
  }
365
  echo '</select>';
2
  /**
3
  * Plugin Name: Facebook Page Plugin
4
  * Plugin URI: https://cameronjones.x10.mx/projects/facebook-page-plugin
5
+ * Description: It's time to upgrade from your old like box! Display the Facebook Page Plugin from the Graph API using a shortcode or widget. Now available in 95 different languages
6
+ * Version: 1.3.4
7
  * Author: Cameron Jones
8
  * Author URI: http://cameronjones.x10.mx
9
  * License: GPLv2
47
  ), $filter );
48
  if(isset($a['href']) && !empty($a['href'])){
49
  $a['language'] = str_replace("-", "_", $a['language']);
50
+ $return .= '<div id="fb-root" data-version="1.3.4"></div><script async>(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = "//connect.facebook.net/' . $a['language'] . '/sdk.js#xfbml=1&version=v2.4&appId=191521884244670";fjs.parentNode.insertBefore(js, fjs); }(document, \'script\', \'facebook-jssdk\'));</script>';
51
+ $return .= '<div class="fb-page" data-version="1.3.4" data-href="https://facebook.com/' . $a["href"] . '" ';
52
  if(isset($a['width']) && !empty($a['width'])){
53
  $return .= ' data-width="' . $a['width'] . '"';
54
  }
90
 
91
  function facebook_page_plugin_dashboard_widget_callback() {
92
  try {
93
+ //$lang_xml = file_get_contents('https://www.facebook.com/translations/FacebookLocales.xml');
94
+ $lang_xml = file_get_contents( plugin_dir_url( __FILE__ ) . 'lang.xml');
95
  }catch(Exception $ex){
96
  $lang_xml = NULL;
97
  }
113
  echo '<p><label>Language: <select id="fbpp-lang" /><option value="">Site Language</option>';
114
  if(isset($langs) && !empty($langs)){
115
  foreach($langs as $lang){
116
+ echo '<option value="' . $lang->codes->code->standard->representation . '">' . $lang->englishName . '</option>'; // This is for Facebook loaded only
117
+ echo '<option value="' . $lang->standard->representation . '">' . $lang->englishName . '</option>';
118
  }
119
  }
120
  echo '</label></p>';
132
  private $facebookURLs = array('https://www.facebook.com/', 'https://facebook.com/', 'www.facebook.com/', 'facebook.com/');
133
 
134
  function __construct() {
135
+ parent::__construct( 'facebook_page_plugin_widget', __('Facebook Page Plugin', 'facebook-page-feed-graph-api'), array( 'description' => __( 'Generates a Facebook Page feed in your widget area', 'facebook-page-feed-graph-api' ), ) );
136
  }
137
  public function widget( $args, $instance ) {
138
  $title = apply_filters( 'widget_title', $instance['title'] );
231
  if ( isset( $instance[ 'title' ] ) ) {
232
  $title = $instance[ 'title' ];
233
  } else {
234
+ $title = __( 'New title', 'facebook-page-feed-graph-api' );
235
  }
236
  if ( isset( $instance[ 'href' ] ) ) {
237
  $href = $instance[ 'href' ];
284
  $language = '';
285
  }
286
  try {
287
+ //$lang_xml = file_get_contents('https://www.facebook.com/translations/FacebookLocales.xml');
288
+ $lang_xml = file_get_contents( plugin_dir_url( __FILE__ ) . 'lang.xml');
289
  }catch(Exception $ex){
290
  $lang_xml = NULL;
291
  }
298
  echo '<label for="' . $this->get_field_id( 'title' ) . '">';
299
  echo _e( 'Title:' );
300
  echo '</label>';
301
+ echo '<input class="widefat" id="' . $this->get_field_id( 'title' ) . '" name="' . $this->get_field_name( 'title' ) . '" type="text" value="' . esc_attr( $title ) . '" />';
302
  echo '</p>';
303
  echo '<p>';
304
+ echo '<label for="' . $this->get_field_id( 'href' ) . '">';
305
  echo _e( 'Page URL:' );
306
  echo '</label>';
307
  echo '<input class="widefat" id="' . $this->get_field_id( 'href' ) . '" name="' . $this->get_field_name( 'href' ) . '" type="url" value="' . esc_attr( $href ) . '" required />';
308
  echo '</p>';
309
  echo '<p>';
310
+ echo '<label for="' . $this->get_field_id( 'width' ) . '">';
311
  echo _e( 'Width:' );
312
  echo '</label>';
313
  echo '<input class="widefat" id="' . $this->get_field_id( 'width' ) . '" name="' . $this->get_field_name( 'width' ) . '" type="number" min="180" max="500" value="' . esc_attr( $width ) . '" />';
314
  echo '</p>';
315
  echo '<p>';
316
+ echo '<label for="' . $this->get_field_id( 'height' ) . '">';
317
  echo _e( 'Height:' );
318
  echo '</label>';
319
  echo '<input class="widefat" id="' . $this->get_field_id( 'height' ) . '" name="' . $this->get_field_name( 'height' ) . '" type="number" min="70" value="' . esc_attr( $height ) . '" />';
320
  echo '</p>';
321
  echo '<p>';
322
+ echo '<label for="' . $this->get_field_id( 'cover' ) . '">';
323
  echo _e( 'Cover Photo:' );
324
  echo '</label>';
325
  echo ' <input class="widefat" id="' . $this->get_field_id( 'cover' ) . '" name="' . $this->get_field_name( 'cover' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $cover ), 'true', false ) . ' />';
326
  echo '</p>';
327
  echo '<p>';
328
+ echo '<label for="' . $this->get_field_id( 'facepile' ) . '">';
329
  echo _e( 'Show Facepile:' );
330
  echo '</label>';
331
  echo ' <input class="widefat" id="' . $this->get_field_id( 'facepile' ) . '" name="' . $this->get_field_name( 'facepile' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $facepile ), 'true', false ) . ' />';
332
  echo '</p>';
333
  echo '<p>';
334
+ echo '<label for="' . $this->get_field_id( 'posts' ) . '">';
335
  echo _e( 'Show Posts:' );
336
  echo '</label>';
337
  echo ' <input class="widefat" id="' . $this->get_field_id( 'posts' ) . '" name="' . $this->get_field_name( 'posts' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $posts ), 'true', false ) . ' />';
338
  echo '</p>';
339
  echo '<p>';
340
+ echo '<label for="' . $this->get_field_id( 'cta' ) . '">';
341
  echo _e( 'Hide Call To Action:' );
342
  echo '</label>';
343
  echo ' <input class="widefat" id="' . $this->get_field_id( 'cta' ) . '" name="' . $this->get_field_name( 'cta' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $cta ), 'true', false ) . ' />';
344
  echo '</p>';
345
  echo '<p>';
346
+ echo '<label for="' . $this->get_field_id( 'small' ) . '">';
347
  echo _e( 'Small Header:' );
348
  echo '</label>';
349
  echo ' <input class="widefat" id="' . $this->get_field_id( 'small' ) . '" name="' . $this->get_field_name( 'small' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $small ), 'true', false ) . ' />';
350
  echo '</p>';
351
  echo '<p>';
352
+ echo '<label for="' . $this->get_field_id( 'adapt' ) . '">';
353
  echo _e( 'Adaptive Width:' );
354
  echo '</label>';
355
  echo ' <input class="widefat" id="' . $this->get_field_id( 'adapt' ) . '" name="' . $this->get_field_name( 'adapt' ) . '" type="checkbox" value="true" ' . checked( esc_attr( $adapt ), 'true', false ) . ' />';
356
  echo '</p>';
357
  echo '<p>';
358
+ echo '<label for="' . $this->get_field_id( 'language' ) . '">';
359
  echo _e( 'Language:' );
360
  echo '</label>';
361
  echo '<select class="widefat" id="' . $this->get_field_id( 'language' ) . '" name="' . $this->get_field_name( 'language' ) . '">';
362
+ echo '<option value="">Site Language (default)</option>';
363
  if(isset($langs) && !empty($langs)){
364
  foreach($langs as $lang){
365
+ //echo '<option value="' . $lang->codes->code->standard->representation . '"' . selected( esc_attr( $language ), $lang->codes->code->standard->representation, false ) . '>' . $lang->englishName . '</option>'; // Facebook only
366
+ echo '<option value="' . $lang->standard->representation . '"' . selected( esc_attr( $language ), $lang->standard->representation, false ) . '>' . $lang->englishName . '</option>';
367
  }
368
  }
369
  echo '</select>';
lang.xml ADDED
@@ -0,0 +1,572 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <locales>
2
+ <locale>
3
+ <englishName>Afrikaans</englishName>
4
+ <standard>
5
+ <representation>af_ZA</representation>
6
+ </standard>
7
+ </locale>
8
+ <locale>
9
+ <englishName>Albanian</englishName>
10
+ <standard>
11
+ <representation>sq_AL</representation>
12
+ </standard>
13
+ </locale>
14
+ <locale>
15
+ <englishName>Arabic</englishName>
16
+ <standard>
17
+ <representation>ar_AR</representation>
18
+ </standard>
19
+ </locale>
20
+ <locale>
21
+ <englishName>Armenian</englishName>
22
+ <standard>
23
+ <representation>hy_AM</representation>
24
+ </standard>
25
+ </locale>
26
+ <locale>
27
+ <englishName>Azerbaijani</englishName>
28
+ <standard>
29
+ <representation>az_AZ</representation>
30
+ </standard>
31
+ </locale>
32
+ <locale>
33
+ <englishName>Basque</englishName>
34
+ <standard>
35
+ <representation>eu_ES</representation>
36
+ </standard>
37
+ </locale>
38
+ <locale>
39
+ <englishName>Belarusian</englishName>
40
+ <standard>
41
+ <representation>be_BY</representation>
42
+ </standard>
43
+ </locale>
44
+ <locale>
45
+ <englishName>Bengali</englishName>
46
+ <standard>
47
+ <representation>bn_IN</representation>
48
+ </standard>
49
+ </locale>
50
+ <locale>
51
+ <englishName>Bosnian</englishName>
52
+ <standard>
53
+ <representation>bs_BA</representation>
54
+ </standard>
55
+ </locale>
56
+ <locale>
57
+ <englishName>Bulgarian</englishName>
58
+ <standard>
59
+ <representation>bg_BG</representation>
60
+ </standard>
61
+ </locale>
62
+ <locale>
63
+ <englishName>Burmese</englishName>
64
+ <standard>
65
+ <representation>my_MM</representation>
66
+ </standard>
67
+ </locale>
68
+ <locale>
69
+ <englishName>Catalan</englishName>
70
+ <standard>
71
+ <representation>ca_ES</representation>
72
+ </standard>
73
+ </locale>
74
+ <locale>
75
+ <englishName>Cebuano</englishName>
76
+ <standard>
77
+ <representation>cx_PH</representation>
78
+ </standard>
79
+ </locale>
80
+ <locale>
81
+ <englishName>Croatian</englishName>
82
+ <standard>
83
+ <representation>hr_HR</representation>
84
+ </standard>
85
+ </locale>
86
+ <locale>
87
+ <englishName>Czech</englishName>
88
+ <standard>
89
+ <representation>cs_CZ</representation>
90
+ </standard>
91
+ </locale>
92
+ <locale>
93
+ <englishName>Danish</englishName>
94
+ <standard>
95
+ <representation>da_DK</representation>
96
+ </standard>
97
+ </locale>
98
+ <locale>
99
+ <englishName>Dutch</englishName>
100
+ <standard>
101
+ <representation>nl_NL</representation>
102
+ </standard>
103
+ </locale>
104
+ <locale>
105
+ <englishName>Dutch (België)</englishName>
106
+ <standard>
107
+ <representation>nl_BE</representation>
108
+ </standard>
109
+ </locale>
110
+ <locale>
111
+ <englishName>English (Pirate)</englishName>
112
+ <standard>
113
+ <representation>en_PI</representation>
114
+ </standard>
115
+ </locale>
116
+ <locale>
117
+ <englishName>English (UK)</englishName>
118
+ <standard>
119
+ <representation>en_UK</representation>
120
+ </standard>
121
+ </locale>
122
+ <locale>
123
+ <englishName>English (US)</englishName>
124
+ <standard>
125
+ <representation>en_US</representation>
126
+ </standard>
127
+ </locale>
128
+ <locale>
129
+ <englishName>English (Upside Down)</englishName>
130
+ <standard>
131
+ <representation>en_UD</representation>
132
+ </standard>
133
+ </locale>
134
+ <locale>
135
+ <englishName>Esperanto</englishName>
136
+ <standard>
137
+ <representation>eo_EO</representation>
138
+ </standard>
139
+ </locale>
140
+ <locale>
141
+ <englishName>Estonian</englishName>
142
+ <standard>
143
+ <representation>et_EE</representation>
144
+ </standard>
145
+ </locale>
146
+ <locale>
147
+ <englishName>Faroese</englishName>
148
+ <standard>
149
+ <representation>fo_FO</representation>
150
+ </standard>
151
+ </locale>
152
+ <locale>
153
+ <englishName>Filipino</englishName>
154
+ <standard>
155
+ <representation>tl_PH</representation>
156
+ </standard>
157
+ </locale>
158
+ <locale>
159
+ <englishName>Finnish</englishName>
160
+ <standard>
161
+ <representation>fi_FI</representation>
162
+ </standard>
163
+ </locale>
164
+ <locale>
165
+ <englishName>French (Canada)</englishName>
166
+ <standard>
167
+ <representation>fr_CA</representation>
168
+ </standard>
169
+ </locale>
170
+ <locale>
171
+ <englishName>French (France)</englishName>
172
+ <standard>
173
+ <representation>fr_FR</representation>
174
+ </standard>
175
+ </locale>
176
+ <locale>
177
+ <englishName>Frisian</englishName>
178
+ <standard>
179
+ <representation>fy_NL</representation>
180
+ </standard>
181
+ </locale>
182
+ <locale>
183
+ <englishName>Galician</englishName>
184
+ <standard>
185
+ <representation>gl_ES</representation>
186
+ </standard>
187
+ </locale>
188
+ <locale>
189
+ <englishName>Georgian</englishName>
190
+ <standard>
191
+ <representation>ka_GE</representation>
192
+ </standard>
193
+ </locale>
194
+ <locale>
195
+ <englishName>German</englishName>
196
+ <standard>
197
+ <representation>de_DE</representation>
198
+ </standard>
199
+ </locale>
200
+ <locale>
201
+ <englishName>Greek</englishName>
202
+ <standard>
203
+ <representation>el_GR</representation>
204
+ </standard>
205
+ </locale>
206
+ <locale>
207
+ <englishName>Guarani</englishName>
208
+ <standard>
209
+ <representation>gn_PY</representation>
210
+ </standard>
211
+ </locale>
212
+ <locale>
213
+ <englishName>Gujarati</englishName>
214
+ <standard>
215
+ <representation>gu_IN</representation>
216
+ </standard>
217
+ </locale>
218
+ <locale>
219
+ <englishName>Hebrew</englishName>
220
+ <standard>
221
+ <representation>he_IL</representation>
222
+ </standard>
223
+ </locale>
224
+ <locale>
225
+ <englishName>Hindi</englishName>
226
+ <standard>
227
+ <representation>hi_IN</representation>
228
+ </standard>
229
+ </locale>
230
+ <locale>
231
+ <englishName>Hungarian</englishName>
232
+ <standard>
233
+ <representation>hu_HU</representation>
234
+ </standard>
235
+ </locale>
236
+ <locale>
237
+ <englishName>Icelandic</englishName>
238
+ <standard>
239
+ <representation>is_IS</representation>
240
+ </standard>
241
+ </locale>
242
+ <locale>
243
+ <englishName>Indonesian</englishName>
244
+ <standard>
245
+ <representation>id_ID</representation>
246
+ </standard>
247
+ </locale>
248
+ <locale>
249
+ <englishName>Irish</englishName>
250
+ <standard>
251
+ <representation>ga_IE</representation>
252
+ </standard>
253
+ </locale>
254
+ <locale>
255
+ <englishName>Italian</englishName>
256
+ <standard>
257
+ <representation>it_IT</representation>
258
+ </standard>
259
+ </locale>
260
+ <locale>
261
+ <englishName>Japanese</englishName>
262
+ <standard>
263
+ <representation>ja_JP</representation>
264
+ </standard>
265
+ </locale>
266
+ <locale>
267
+ <englishName>Japanese (Kansai)</englishName>
268
+ <standard>
269
+ <representation>ja_KS</representation>
270
+ </standard>
271
+ </locale>
272
+ <locale>
273
+ <englishName>Javanese</englishName>
274
+ <standard>
275
+ <representation>jv_ID</representation>
276
+ </standard>
277
+ </locale>
278
+ <locale>
279
+ <englishName>Kannada</englishName>
280
+ <standard>
281
+ <representation>kn_IN</representation>
282
+ </standard>
283
+ </locale>
284
+ <locale>
285
+ <englishName>Kazakh</englishName>
286
+ <standard>
287
+ <representation>kk_KZ</representation>
288
+ </standard>
289
+ </locale>
290
+ <locale>
291
+ <englishName>Khmer</englishName>
292
+ <standard>
293
+ <representation>km_KH</representation>
294
+ </standard>
295
+ </locale>
296
+ <locale>
297
+ <englishName>Korean</englishName>
298
+ <standard>
299
+ <representation>ko_KR</representation>
300
+ </standard>
301
+ </locale>
302
+ <locale>
303
+ <englishName>Kurdish (Kurmanji)</englishName>
304
+ <standard>
305
+ <representation>ku_TR</representation>
306
+ </standard>
307
+ </locale>
308
+ <locale>
309
+ <englishName>Latin</englishName>
310
+ <standard>
311
+ <representation>la_VA</representation>
312
+ </standard>
313
+ </locale>
314
+ <locale>
315
+ <englishName>Latvian</englishName>
316
+ <standard>
317
+ <representation>lv_LV</representation>
318
+ </standard>
319
+ </locale>
320
+ <locale>
321
+ <englishName>Leet Speak</englishName>
322
+ <standard>
323
+ <representation>fb_LT</representation>
324
+ </standard>
325
+ </locale>
326
+ <locale>
327
+ <englishName>Lithuanian</englishName>
328
+ <standard>
329
+ <representation>lt_LT</representation>
330
+ </standard>
331
+ </locale>
332
+ <locale>
333
+ <englishName>Macedonian</englishName>
334
+ <standard>
335
+ <representation>mk_MK</representation>
336
+ </standard>
337
+ </locale>
338
+ <locale>
339
+ <englishName>Malay</englishName>
340
+ <standard>
341
+ <representation>ms_MY</representation>
342
+ </standard>
343
+ </locale>
344
+ <locale>
345
+ <englishName>Malayalam</englishName>
346
+ <standard>
347
+ <representation>ml_IN</representation>
348
+ </standard>
349
+ </locale>
350
+ <locale>
351
+ <englishName>Marathi</englishName>
352
+ <standard>
353
+ <representation>mr_IN</representation>
354
+ </standard>
355
+ </locale>
356
+ <locale>
357
+ <englishName>Mongolian</englishName>
358
+ <standard>
359
+ <representation>mn_MN</representation>
360
+ </standard>
361
+ </locale>
362
+ <locale>
363
+ <englishName>Nepali</englishName>
364
+ <standard>
365
+ <representation>ne_NP</representation>
366
+ </standard>
367
+ </locale>
368
+ <locale>
369
+ <englishName>Norwegian (bokmal)</englishName>
370
+ <standard>
371
+ <representation>nb_NO</representation>
372
+ </standard>
373
+ </locale>
374
+ <locale>
375
+ <englishName>Norwegian (nynorsk)</englishName>
376
+ <standard>
377
+ <representation>nn_NO</representation>
378
+ </standard>
379
+ </locale>
380
+ <locale>
381
+ <englishName>Oriya</englishName>
382
+ <standard>
383
+ <representation>or_IN</representation>
384
+ </standard>
385
+ </locale>
386
+ <locale>
387
+ <englishName>Pashto</englishName>
388
+ <standard>
389
+ <representation>ps_AF</representation>
390
+ </standard>
391
+ </locale>
392
+ <locale>
393
+ <englishName>Persian</englishName>
394
+ <standard>
395
+ <representation>fa_IR</representation>
396
+ </standard>
397
+ </locale>
398
+ <locale>
399
+ <englishName>Polish</englishName>
400
+ <standard>
401
+ <representation>pl_PL</representation>
402
+ </standard>
403
+ </locale>
404
+ <locale>
405
+ <englishName>Portuguese (Brazil)</englishName>
406
+ <standard>
407
+ <representation>pt_BR</representation>
408
+ </standard>
409
+ </locale>
410
+ <locale>
411
+ <englishName>Portuguese (Portugal)</englishName>
412
+ <standard>
413
+ <representation>pt_PT</representation>
414
+ </standard>
415
+ </locale>
416
+ <locale>
417
+ <englishName>Punjabi</englishName>
418
+ <standard>
419
+ <representation>pa_IN</representation>
420
+ </standard>
421
+ </locale>
422
+ <locale>
423
+ <englishName>Romanian</englishName>
424
+ <standard>
425
+ <representation>ro_RO</representation>
426
+ </standard>
427
+ </locale>
428
+ <locale>
429
+ <englishName>Russian</englishName>
430
+ <standard>
431
+ <representation>ru_RU</representation>
432
+ </standard>
433
+ </locale>
434
+ <locale>
435
+ <englishName>Serbian</englishName>
436
+ <standard>
437
+ <representation>sr_RS</representation>
438
+ </standard>
439
+ </locale>
440
+ <locale>
441
+ <englishName>Simplified Chinese (China)</englishName>
442
+ <standard>
443
+ <representation>zh_CN</representation>
444
+ </standard>
445
+ </locale>
446
+ <locale>
447
+ <englishName>Sinhala</englishName>
448
+ <standard>
449
+ <representation>si_LK</representation>
450
+ </standard>
451
+ </locale>
452
+ <locale>
453
+ <englishName>Slovak</englishName>
454
+ <standard>
455
+ <representation>sk_SK</representation>
456
+ </standard>
457
+ </locale>
458
+ <locale>
459
+ <englishName>Slovenian</englishName>
460
+ <standard>
461
+ <representation>sl_SI</representation>
462
+ </standard>
463
+ </locale>
464
+ <locale>
465
+ <englishName>Sorani Kurdish</englishName>
466
+ <standard>
467
+ <representation>cb_IQ</representation>
468
+ </standard>
469
+ </locale>
470
+ <locale>
471
+ <englishName>Spanish</englishName>
472
+ <standard>
473
+ <representation>es_LA</representation>
474
+ </standard>
475
+ </locale>
476
+ <locale>
477
+ <englishName>Spanish (Colombia)</englishName>
478
+ <standard>
479
+ <representation>es_CO</representation>
480
+ </standard>
481
+ </locale>
482
+ <locale>
483
+ <englishName>Spanish (Spain)</englishName>
484
+ <standard>
485
+ <representation>es_ES</representation>
486
+ </standard>
487
+ </locale>
488
+ <locale>
489
+ <englishName>Swahili</englishName>
490
+ <standard>
491
+ <representation>sw_KE</representation>
492
+ </standard>
493
+ </locale>
494
+ <locale>
495
+ <englishName>Swedish</englishName>
496
+ <standard>
497
+ <representation>sv_SE</representation>
498
+ </standard>
499
+ </locale>
500
+ <locale>
501
+ <englishName>Tajik</englishName>
502
+ <standard>
503
+ <representation>tg_TJ</representation>
504
+ </standard>
505
+ </locale>
506
+ <locale>
507
+ <englishName>Tamil</englishName>
508
+ <standard>
509
+ <representation>ta_IN</representation>
510
+ </standard>
511
+ </locale>
512
+ <locale>
513
+ <englishName>Telugu</englishName>
514
+ <standard>
515
+ <representation>te_IN</representation>
516
+ </standard>
517
+ </locale>
518
+ <locale>
519
+ <englishName>Thai</englishName>
520
+ <standard>
521
+ <representation>th_TH</representation>
522
+ </standard>
523
+ </locale>
524
+ <locale>
525
+ <englishName>Traditional Chinese (Hong Kong)</englishName>
526
+ <standard>
527
+ <representation>zh_HK</representation>
528
+ </standard>
529
+ </locale>
530
+ <locale>
531
+ <englishName>Traditional Chinese (Taiwan)</englishName>
532
+ <standard>
533
+ <representation>zh_TW</representation>
534
+ </standard>
535
+ </locale>
536
+ <locale>
537
+ <englishName>Turkish</englishName>
538
+ <standard>
539
+ <representation>tr_TR</representation>
540
+ </standard>
541
+ </locale>
542
+ <locale>
543
+ <englishName>Ukrainian</englishName>
544
+ <standard>
545
+ <representation>uk_UA</representation>
546
+ </standard>
547
+ </locale>
548
+ <locale>
549
+ <englishName>Urdu</englishName>
550
+ <standard>
551
+ <representation>ur_PK</representation>
552
+ </standard>
553
+ </locale>
554
+ <locale>
555
+ <englishName>Uzbek</englishName>
556
+ <standard>
557
+ <representation>uz_UZ</representation>
558
+ </standard>
559
+ </locale>
560
+ <locale>
561
+ <englishName>Vietnamese</englishName>
562
+ <standard>
563
+ <representation>vi_VN</representation>
564
+ </standard>
565
+ </locale>
566
+ <locale>
567
+ <englishName>Welsh</englishName>
568
+ <standard>
569
+ <representation>cy_GB</representation>
570
+ </standard>
571
+ </locale>
572
+ </locales>
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: facebook,social,like,facepile,activity feed,recommendations,shortcode,widg
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=WLV5HPHSPM2BG&lc=AU&item_name=Cameron%20Jones%20Web%20Development�cy_code=AUD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
5
  Requires at least: 4.0
6
  Tested up to: 4.3
7
- Stable tag: 1.3.3
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10
 
@@ -23,7 +23,7 @@ Features:
23
 
24
  * Includes a shortcode generator on the admin dashboard for easy generating of the shortcode
25
 
26
- * Uses your site language by default, but you can display your Facebook page in all 136 languages that Facebook supports, including English, Spanish, Arabic, German, French, Russian and many more
27
 
28
  If you like the plugin, please take the time to leave a review.
29
 
@@ -86,12 +86,22 @@ Also, if your page has only just been created it may take some time for the API
86
  = What versions of WordPress will this plugin work on? =
87
  Shortcodes were introduced in WordPress 2.5, so theorectially it should work on all sites that are at least 2.5, however it has only been tested on versions 4.0 and up, and no guarantee will be made concerning earlier versions
88
 
 
 
 
 
 
89
  == Screenshots ==
90
  1. Installation example
91
  2. Example of the new widget introduced in version 1.2.0
92
  3. The new shortcode generator dashboard widget
93
 
94
  == Changelog ==
 
 
 
 
 
95
  = 1.3.3 =
96
  * Direct access security update
97
  * Verifying compatibility with WP 4.2.4 and WP 4.3
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=WLV5HPHSPM2BG&lc=AU&item_name=Cameron%20Jones%20Web%20Development�cy_code=AUD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
5
  Requires at least: 4.0
6
  Tested up to: 4.3
7
+ Stable tag: 1.3.4
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10
 
23
 
24
  * Includes a shortcode generator on the admin dashboard for easy generating of the shortcode
25
 
26
+ * Uses your site language by default, but you can display your Facebook page in all 95 languages that Facebook supports, including English, Spanish, Arabic, German, French, Russian and many more
27
 
28
  If you like the plugin, please take the time to leave a review.
29
 
86
  = What versions of WordPress will this plugin work on? =
87
  Shortcodes were introduced in WordPress 2.5, so theorectially it should work on all sites that are at least 2.5, however it has only been tested on versions 4.0 and up, and no guarantee will be made concerning earlier versions
88
 
89
+ = I can only see a link, the plugin won't load =
90
+ By default the plugin will display a link to your page while the page plugin loads. If the page plugin doesn't load, this could happen for a number of reasons. Your connection could be very slow, you could have JavaScript disabled, you could have an ad blocker or similar browser extension blocking the plugin or there could be an error in the information you have provided in the widget or shortcode.
91
+
92
+ * This problem seems to mainly affect 1.3.3, if you are running this version and you are encountering this issue, please update and see if the issue persists.
93
+
94
  == Screenshots ==
95
  1. Installation example
96
  2. Example of the new widget introduced in version 1.2.0
97
  3. The new shortcode generator dashboard widget
98
 
99
  == Changelog ==
100
+ = 1.3.4 =
101
+ * Fixed typo in widget
102
+ * Fixed labels in widget
103
+ * Changed languages to load from a local file instead of Facebook's Locales XML file. This fixes the issue where approximately 40 languages were supported by Facebook but not for the page plugin, and also users working locally without internet access are now able to change the language from default.
104
+ * Re-introduced App ID, while it should not be needed it appears that removing it has affected some sites.
105
  = 1.3.3 =
106
  * Direct access security update
107
  * Verifying compatibility with WP 4.2.4 and WP 4.3