PHPackages                             sturple/fg-theme-master - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. sturple/fg-theme-master

AbandonedArchivedWordpress-theme[Templating &amp; Views](/categories/templating)

sturple/fg-theme-master
=======================

Basic Twig template theme

0.4.3(8y ago)1132[2 issues](https://github.com/sturple/fg-theme-master/issues)GPL-3.0HTMLPHP &gt;=5.4

Since Jun 14Pushed 7y ago2 watchersCompare

[ Source](https://github.com/sturple/fg-theme-master)[ Packagist](https://packagist.org/packages/sturple/fg-theme-master)[ Docs](https://github.com/fgms/wp-theme-twig)[ RSS](/packages/sturple-fg-theme-master/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (14)Used By (0)

FG Wordpress Template With Twig
===============================

[](#fg-wordpress-template-with-twig)

Installation
------------

[](#installation)

- Install wordpress
- Install Timber plugin (twig)
- Install Metabox plugin ()
- run `composer update` on the root of the theme (this install symfony yaml parser for reading settings)
- Select theme.
- On local machine run npm install to install grunt task runner.
- Select google fonts, update Gruntifile.js, and run `grunt googlefonts`
- Run grunt watch and update css or js to upload assets.

File Structure
--------------

[](#file-structure)

```
├── 404.php
├── composer.json
├── functions.php
├── include
│   ├── shortcodes
│   │   ├── accordion.php
│   │   ├── ajax.php
│   │   ├── carousel.php
│   │   ├── custom-template.php
│   │   ├── email.php
│   │   ├── tabs.php
│   │   ├── twig.php
│   │   ├── gallery.php
│   │   ├── link.php
│   │   └── page-gallery.php
|   |
│   ├── shortcodes.php
│   └── theme-settings.php
├── index.php
├── page-templates
│   ├── blank.php
│   ├── contact.php
│   ├── full-width.php
│   ├── landingpage.php
│   ├── listings.php
│   └── modular.php
├── README.md
├── screenshot.png
├── style.css
└── twig-templates
    ├── base.twig
    ├── footer.twig
    ├── header.twig
    ├── partials
    │   ├── article-list-element.twig
    │   ├── article.twig
    │   ├── awards.twig
    │   ├── blog-sidebar.twig
    │   ├── blog-tags-cats.twig
    │   ├── bootstrap-carousel.twig
    │   ├── breadcrumbs.twig
    │   ├── contact-sidebar.twig
    │   ├── gallery.twig
    │   ├── modal-inner.twig
    │   ├── navigation.twig
    │   ├── realtor-directory.twig
    │   ├── responsive-list.twig
    │   ├── social-sharing.twig
    │   └── specials.twig
    └── wp
        ├── archive.twig
        ├── index.twig
        ├── page-404.twig
        ├── page-blank.twig
        ├── page-contact.twig
        ├── page-full-width.twig
        ├── page-landing-twig
        ├── page-listings.twig
        ├── page-modular.twig
        ├── page.twig
        └── single.twig

```

Shortcodes
----------

[](#shortcodes)

### \[accordion\] &amp; \[panel\]

[](#accordion--panel)

Creates [Bootstrap accordions](http://getbootstrap.com/javascript/#collapse).

The \[accordion\] shortcode does not accept any attributes. All content of an \[accordion\] shortcode which is not a \[panel\] shortcode (or content nested therein) is ignored.

The **\[panel\]** shortcode accepts the following attributes:

AttributeDescriptionidAn HTML ID which shall be used for the panel (one will be automatically generated if this is not supplied)titleA title for the panelactivedefault false, opens accordion if trueThe content of the \[panel\] shortcode shall be used as the content of the panel in the accordion.

### \[collapse\] &amp; \[panel\]

[](#collapse--panel)

Creates [Bootstrap collapse](http://getbootstrap.com/javascript/#collapse).

The \[collapse\] shortcode accepts these attributes. All content of an \[collapse\] shortcode which is not a \[panel\] shortcode (or content nested therein) is ignored.

AttributeDescriptioniconupthe icon that is shown next to text to indicate up, the down arrow is same but rotated 90degfontfamilyfor the icon default is FontAwsomeThe **\[panel\]** shortcode accepts the following attributes:

AttributeDescriptionidAn HTML ID which shall be used for the panel (one will be automatically generated if this is not supplied)titleA title for the panelactivedefault false, opens accordion if trueThe content of the \[panel\] shortcode shall be used as the content of the panel in the accordion.

### \[carousel\] &amp; \[slide\]

[](#carousel--slide)

Creates [Bootstrap carousels](http://getbootstrap.com/javascript/#carousel).

The **\[carousel\]** shortcode accepts the following attributes:

AttributeDefaultDescriptioncontrolstrueIf "false" then the carousel shall not have controls for moving between the slidesidmyCarouselAn HTML ID which shall be used for the carousel (one will be automatically generated if this is not supplied)indicatorstrueIf "false" then the carousel shall not have indicators indicating which slide is currently active (and how many slides there are)innerclassAn HTML class (or list of classes) which shall be applied to the inner container of the generated Bootstrap carouselouterclassAn HTML class (or list of classes) which shall be applied to the outer container of the generated Bootstrap carouselAll content of a \[carousel\] shortcode which is not a \[slide\] shortcode is ignored.

The **\[slide\]** shortcode accepts the following attributes:

AttributeDescriptionaltThe alt text for the image which appears on the slidecaptionA caption which shall appear on the slide (defaults to no caption)titleThe title of the slide (defaults to no title)urlThe URL of the image which shall appear on the slideAll content of a \[slide\] shortcode is ignored.

### \[custom-template\] &amp; \[custom-item\]

[](#custom-template--custom-item)

Allows a specified Twig template to be rendered.

The **\[custom-template\]** shortcode accepts one attribute explicitly:

AttributeDescriptiontemplateSpecifies the file name of the template which shall be renderedAny other attributes of the shortcode have their values passed through as variables in the template.

Note that if you specify the "data" attribute it will be overwritten and its value will therefore be inaccessible (see below).

The \[custom-item\] shortcode creates an entry in the array passed through to the rendered template as the "data" variable. The entry shall have a property corresponding to each attribute of the \[custom-item\] shortcode in addition to a "content" property which contains a string containing the contents of the shortcode. Note that because of this if you use the "content" attribute of a \[custom-item\] shortcode it will be overwritten and therefore its value will be inaccessible.

### \[tabs\] &amp; \[tab\]

[](#tabs--tab)

Creates [Bootstrap tabs](http://getbootstrap.com/javascript/#tabs).

The \[tabs\] shortcode does not accept any attributes. All content of a \[tabs\] shortcode which is not a \[tab\] shortcode (or content nested therein) is ignored.

The **\[tab\]** shortcode accepts the following attirbutes:

AttributeDescriptionactiveIf "true" then the tab-in-question shall be the default active tab, if no tab is marked as active the first tab shall be active by defaultidAn HTML ID which shall be used for the panel (one will be automatically generated if this is not supplied)titleA title for the tabThe content of the \[tab\] shortcode shall be used as the content of the tab.

### \[pills\] &amp; \[pill\]

[](#pills--pill)

Creates \[Bootstrap pills\].

The \[pills\] shortcode does not accept any attributes. All content of a \[pills\] shortcode which is not a \[pil\] shortcode (or content nested therein) is ignored.

The **\[pill\]** shortcode accepts the following attirbutes:

AttributeDescriptionactiveIf "true" then the tab-in-question shall be the default active tab, if no tab is marked as active the first tab shall be active by defaultidAn HTML ID which shall be used for the panel (one will be automatically generated if this is not supplied)titleA title for the tabThe content of the \[tab\] shortcode shall be used as the content of the tab.

### \[ajax\]

[](#ajax)

The \[ajax\] shortcode is used to load page content via ajax. The page that the ajax code is on requires you to use No Template or the blank template.

The **\[ajax\]** shortcode accepts the following attribute.

AttributeDescriptiontemplateis used to load the twig template it is going to wrap the content around### \[link\]

[](#link)

The **\[link\]** shortcode accepts the following attribute.

AttributeDescriptionidThe post id which will convert it to url (preferred method)hrefThe complete urlattruse any attribute ie class="myclass" target="\_blank"\[link id="2"\]contact us\[/link\] --&gt; [contact us](http://example.com/contact-us)

```
[link href="https://google.com" attr="target=_blank" ]Search Engine[/link]  --> Search Engine

```

### \[email\]

[](#email)

AttributeDescriptionlabelIf you require the label to be something different\[email label="email"\]\[/email\]

### \[twig\]

[](#twig)

Allows you to add twig functions, as well as obtain global twig variables.

\[twig\]{{config.company.booking.url}}\[/twig\]

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~48 days

Recently: every ~14 days

Total

10

Last Release

3179d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2dd85bdb541f55135abd3f830f2393502bb9012c00671900eb38cc8efac69a8a?d=identicon)[sturple](/maintainers/sturple)

---

Top Contributors

[![RobertLeahy](https://avatars.githubusercontent.com/u/648276?v=4)](https://github.com/RobertLeahy "RobertLeahy (45 commits)")[![sturple](https://avatars.githubusercontent.com/u/5727854?v=4)](https://github.com/sturple "sturple (11 commits)")

---

Tags

wordpresstwigthemeFGMS

### Embed Badge

![Health badge](/badges/sturple-fg-theme-master/health.svg)

```
[![Health](https://phpackages.com/badges/sturple-fg-theme-master/health.svg)](https://phpackages.com/packages/sturple-fg-theme-master)
```

###  Alternatives

[teepluss/theme

Theme will help you organize your themes inside Laravel projects easily and maintain its related assets, layouts and partials for the theme in single directory.

543174.1k8](/packages/teepluss-theme)[htmlburger/wpemerge-theme

A modern WordPress starter theme which uses the WP Emerge framework

2873.8k](/packages/htmlburger-wpemerge-theme)[frozzare/digster

Twig templates for WordPress

107.1k](/packages/frozzare-digster)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
