Integrace s redakčním systémem WordPress

WordPress je velmi populární systém pro tzv. Content Management. Do systému WordPress lze FlexBookové JavaScript komponenty zaintegrovat jako do každé jiné webové stránky. Je potřeba do <HEAD>...</HEAD> sekce HTML vložit JQuery a FlexBook knihovny, a zajistit aplikaci CSS stylů.

...
<HEAD>
<!-- FlexBook JavaScripts -->
<script src="http://www.flexbook.cz/jq/jquery.js"></script>
<script src="http://www.flexbook.cz/flbv2.js"></script>

<!-- Integrator's custom CSS -->
<link rel="stylesheet" type="text/css" href="example.css" />
</HEAD>
...

Máte-li funkční JQuery (viz poznámky níže) a FlexBook JavaScript knihovny, tak již můžete vkládat FlexBookové komponenty přímo do příslušných stránek. Níže je uvedena ukázka z integrace FlexBook komponent v redakčním systému WordPress.

<h1>KALENDÁŘ AKCÍ</h1>

<div id="flb_kalendar_akci">&nbsp;</div>
<div id="flb_list_akci">&nbsp;</div>

<script>
jQuery(document).ready(function( $ ) {
  flbInit('http://www.flexbook.cz/ajax.php', 18, [
    {
      type: 'flbResourceCalendar',
      placeHolder: 'flb_kalendar_akci',
      language: 'cz',
      render: ['event'],
      renderText: ['none'],
      format: { datetime: 'd.m. H:i', time: 'H:i' },
      tag: ['kalendar-akci'],
      disableResourceReservation: 1,
    },
    {
      type: 'flbEventList',
      placeHolder: 'flb_list_akci',    
      language: 'cz',
      tag: ['kalendar-akci'],
    }
  ]);
});
</script>

Poznámky k interoperabilitě systémů WordPress, JQuery a FlexBook

Poznámka 1: FlexBook Javascript musí být v HEAD sekci až za WordPress JavaScriptem jinak hrozí kolize JQuery funkcí. Nejlepší je umístit FlexBook JavaScript úplně na konec <HEAD>...</HEAD> sekce.

Poznámka 2: V některých případech dochází ke konfliktu verzi jquery, pak je potřeba vypnout defaultní jquery wordpresu a nastavit jquery flexbooku. To se udělá následující úpravou příslušného header.php souboru. Pak již stačí pouze includnout klasický druhý js soubor flbv2.js.

if (!is_admin()) {
   wp_deregister_script('jquery');
   wp_register_script('jquery', ("https://www.flexbook.cz/jq/jquery.js";), false); 
   wp_enqueue_script('jquery');
}

Poznámka 3: V případě, kdy ve wordpressu jsou instalovány komponenty vyžadující jquery < 3.x, je potřeba, aby byla nahrána knihovna jq-migrate, která zajišťuje zpětnou kompatibulitu. Kód do wordpressu pak vypadá takto:

if (!is_admin()) {
 wp_deregister_script('jquery-core');
 wp_register_script('jquery-core', 'https://www.flexbook.cz/jq/jquery.js';, true, '3.4.1');
 wp_enqueue_script('jquery-core');
 wp_deregister_script('jquery-migrate');
 wp_register_script('jquery-migrate', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-migrate/3.3.0/jquery-migrate.min.js';, true, '3.3.0');
 wp_enqueue_script('jquery-migrate');
}

Last updated