GavernWP has built – in support for Open Graph protocol. Thanks to it, each post added may have metatags specified and during publishing a post given on Facebook, there will be information specified earlier by an author of an entry displayed:
title
entry description
thumbnail connected with an entry
Thanks to it, an author of a post has better influence on the information displayed on social media services. It’s also worth remembering that in the case when fields connected with Open Graph will not be filled, then GavernWP will try to fill them automatically basing on the entry data.
Support for Open Graph is a great supplement for a Social API system implemented in GavernWP.
In order to make GavernWP framework more flexible, we decided to use files in JSON format for storing thme’s configuration and options layout in an administration panel.
You may find files responsible for theme’s configuration in gavern/options/ catalog:
fonts.json – a file which stores theme’s groups of fonts. By default, there are three main gropus created. In order to create a new group, it is enough to add a next object to the object table existing in this file.plik przechowujący grupy czcionek szablonu.
menus.json – you will find space for menu used in a theme in this file. You have to remember that except adding a new object, you have to add PHP code generating menu data in theme’s code. It is also worth remembering that there could be one main menu (main field in menu object).
opengraph.json – this file includes configuration of fields used in a block connected with metabox which is used for generating Open Graph data. We do not recommend to make any changes in it before you get acquainted with Open Graph tags implementation in GavernWP framework.
styles.json – this file is used for generating additional theme’s styles. Except adding a new style, you have to remember about creating an additional CSS file which will be loaded while changing theme’s style.
template.json – it is the most important configuration file. It includes information about a theme and it allows to switch off chosen elements of theme administration panel. It is NOT recommended to add new fields to this files because they will not be used without additional PHP code.
widgets.json – a file including a list of all positions of widgets. Similarly to menus.json file, you have to remember that except adding a new widget position, you have to also add PHP code which generates it in a theme.
widgets.styles.json – a file used for creating new widget styles. Thanks to its implementation, it allows to assign a style given to one widget type only or exclude some widget types from a style given.
In order to understand better JSON files format, we recommend to visit the official website of this format.
GavernWP has full support for making translations. Because of differences being a result of using JSON files for generating theme’s options, a theme’s translation should be done in three places:
with files use from a languages catalog
by creating a catalog of a language given in a config catalog
by creating a catalog of a language given in an options catalog
The first stage is a standard operation described in details in WordPress documentation. Let’s focus on the two remaining stages then:
Generally, there is en_US catalog created in config and options catalogs which includes JSON configuration files in an English language. So, in order to translate a theme to a different language , you have to copy this catalog and change its name to a respective language used in your installation, e.g. pl_PL. Then, you have to change all phrases from the English language to your language.
NOTE! You must not change the names of keys in JSON files, the same as, proper names because they are used for proper work and reading values.
e.g. in a widgets.json file for a fragment:
{
"name": "Top widgets",
"id": "top",
"description": "Widgets area on under the header of website",
"before_widget": "<div id=\"%1$s\" class=\"box%2$s\">",
"after_widget": "</div>",
"before_title": "<h3 class=\"box-title\">",
"after_title": "</h3>"
},
change the following phrases only:
“Top widgets”
“Widgets area on under the header of website”
After this operation, you will see sentences in your mother tongue in an administration panel.
It’s worth remembering that in the case when GavernWP will not find a catalog corresponding to the language set in configuration, there will be files used from en_US catalogs.
oEmbeds is an important facility used while creating posts. Thanks to it, a user may embed in an entry easily, e.g. a movie from You Tube service by giving just a link to the movie – WordPress will generate a movie from this link automatically.
Gavern Framework has a quite extensive files structure. It is similar to a standard structure of majority of the themes, however, because of many functionalities, there are some new elements.
GavernWP allows to access a lot of additional typography elements created with Shortcodes use. The use is very simple thanks to an additional button in a posts editor. A typography description from a programistic side has been divided into two parts, namely: front-end and back-end.
Below, there are all elements available in theme’s typography. Typography elements can be divided into three main groups:
typography elements,
interactive elements,
elements prepared especially for a particular theme.
Warnings / Infos / Notices / Errors
These elements are used for highlighting text fragments together with their importance / type of information by using appropriate colors.
Warning text example using Shortcodes
Info text example using Shortcodes
Notice text example using Shortcodes
Error text example using Shortcodes
Labels
Labels are useful for marking the importance of the text fragment or a word given. In the case of longer texts, we recommend to use elements from Warnings / Infos / Notices group.
This is a paragraph with the labeled text using the first style.
This is a paragraph with the labeled text using the second style.
This is a paragraph with the labeled text using the third style.
This is a paragraph with the labeled text using the fourth style.
This is a paragraph with the labeled text using the fifth style.
This is a paragraph with the labeled text using the sixth style.
Badges
Badges in their look are similar to Labels, however, you may use them mainly for highlighting shorter texts, e.g. numerical values.
This is a paragraph with the badge 12 using the first style.
This is a paragraph with the badge 12 using the second style.
This is a paragraph with the badge 12 using the third style.
This is a paragraph with the badge 12 using the fourth style.
This is a paragraph with the badge 12 using the fifth style.
This is a paragraph with the badge 12 using the sixth style.
Code listings
We recommend to use an element creating code listings in one out of three styles available for presenting source codes:
function helloWorld() {
alert('Hello World!');
}
function helloWorld() {
alert('Hello World!');
}
function helloWorld() {
alert('Hello World!');
}
Text blocks
Text blocks are useful for generating an element highlighting a particular part of an entry:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
01Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
02Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
03Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
04Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo.
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
Lorem ipsum dolor sit amet
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit.
Lorem ipsum dolor sit amet
Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
Quote and Citations
Quotes elements are useful for highlighting the author of a sentence given:
Elements which could not be groupped to other categories.
Columns allow to place text in multicolumn layout:
Content for the first column
Content for the second column
Content for the third column
You can also adjust the columns width using the width attribute:
Content for the first column
Content for the second column
Content for the third column
Toggle text – elements useful for creating blocks with text to toggle:
Header text
Cras mattis consectetur purus sit amet fermentum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas sed diam eget risus varius blandit sit amet non magna. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Sed posuere consectetur est at lobortis.
Header text
Cras mattis consectetur purus sit amet fermentum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas sed diam eget risus varius blandit sit amet non magna. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Sed posuere consectetur est at lobortis.
Shortcode pageurl allows to place an address to a blog: