Documentation pour les thèmes "à la Wordpress" des projets GenList2

Dans genlist2, Info > Configuration > Bibliothèques externes > Public Theme = wpproxylite.

Sur votre serveur, il devrait y avoir ces deux répertoires wp-content et wpproxylite et les fichiers :

index.php
wp-content/
           themes/
                  default/
                          404.php
                          footer.php
                          header.php
                          index.php

wpproxylite/
            wp-config.php

Par défaut, c'est le thème default qui est utilisé. Il s'agit aussi du nom du répertoire. Pour changer le thème utilisé, il faut changer la constante TEMPLATE dans le fichier wpproxylite/wp-config.php. Et créer le répertoire associée. Par exemple:

define('TEMPLATE', 'monSuperTheme');

wp-content/themes/monSuperTheme/

Il faut avoir minimalement 4 fichiers dans ce thème: 404.php, footer.php, header.php et index.php

index.php et .htaccess

Par défaut, le système fonctionne avec les paramètres suivants: module, action et p[]. La zone est "public".

Par exemple si l'usager demande la page suivante: /index.php?module=page&action=get&p[]=abc&p[]=10

Le contrôleur "page" sera utilisé, la fonction public_get() sera appelée. Les deux paramètres "abc" et "10" sont envoyés à la fonction.

On pourrait avoir cette fonction dans le fichier app/modpage/index.php

    public function public_get($metaname, $numero) {
        $this->_set('view', 'page_get');
    }

$metaname est "abc", $numero est "10". Lorsqu'on assigne la variable "view", on indique le gabarit utilisé dans le template. Ici: wp-content/themes/THEME/page_get.php

Bien attendu, on peut ajouter des règles de redirection plus élégantes dans le fichier .htaccess comme:

RewriteRule ^pages/(\d+)-(.+)\.html$ index.php?module=page&action=get&p[]=$2&p[]=$1

Cette règles réécrit /pages/10-abc.html vers /index.php?module=page&action=get&p[]=abc&p[]=10 et donc vers modpage_index->public_get('abc', 10)

Page d'accueil : wp-content/themes/THEME/index.php

Le fichier contient le gabarit pour la page d'accueil. Par défaut, on peut y définir le titre du document (balise <title>), les métas (descriptions et mots-clés). Le metaname correspond au nom de la page web. Pour la page d'accueil, le metaname est "index".

get_header() permet d'inclure l'entête (le fichier header.php).

Le code HTML doit être modifié.

get_footer() permet d'inclure le pied de page (le fichier footer.php).

Voici la déclaration du titre, métas et metaname du fichier index:

$GLOBALS['document'] = array(
    'title'=>"",
    'metadescription'=>"",
    'metakeywords'=>"",
    'metaname'=>"index",
);

Cette page est gérée par le module "default", l'action "index", de la zone "public" dans le contrôleur app/moddefault/index.php

  public function public_index() {
    $this->_set('view', 'index');
  }

Page 404 : wp-content/themes/THEME/404.php

Le fichier contient le gabarit pour la page d'erreur (page non trouvée). Le metaname est "404". On y retrouve get_header() et get_footer().

Entête : wp-content/themes/THEME/header.php

L'entête contient les métas par défaut et permet d'afficher l'entête des pages HTML.

On peut modifier la description et les mots-clés par défaut. Voici la liste des propriétés par défaut:

     'title'=>"",
     'metadescription'=>"",
     'metakeywords'=>"",
     'metaname'=>"",

Dans les autres fichiers, on peut inclure l'entête avec le code <?php get_header() ?>.

Pied de page : wp-content/themes/THEME/footer.php

Le pied de page contient la fin de la page HTML.

Dans les autres fichiers, on peut inclure le pied de page avec le code <?php get_footer() ?>.

Autres fichiers

sidebar

On peut insérer une "sidebar" à l'aide du code : <?php get_sidebar() ?>. Ce code inclut le fichier sidebar.php

On peut insérer des "sidebars" personnalisées à l'aide du code : <?php get_sidebar('test') ?>. Ce code inclut le fichier sidebar-test.php

Entête et pied de page personnalisé

On peut insérer une entête personnalisée à l'aide du code : <?php get_header('test') ?>. Ce code inclut le fichier header-test.php

On peut insérer un pied de page personnalisé à l'aide du code : <?php get_footer('test') ?>. Ce code inclut le fichier footer-test.php

Fonctions

Le fichier "wp-content/themes/THEME/functions.php" est automatiquement inclus s'il est présent.

Autres fichiers

Pour inclure un autre fichier PHP qui se retrouve dans le répertoire du thème, on doit utiliser:

<?php require_once get_query_template('extra') ?>

Ce code ajoute le fichier wp-content/themes/THEME/extra.php

Fonctions utiles

Pour afficher une variable PHP en HTML : <?php eh($variable) ?>

Pour convertir une variable PHP en HTML : <?php $html_variable = html($variable); ?>

Page statique

On peut ajouter des pages statiques à l'aide d'une redirection dans le fichier .htaccess. Par exemple, pour rediriger toutes les pages *.html vers les fichiers: wp-content/themes/THEME/pages/*.php, on pourrait faire:

Fichier .htaccess :

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.html$ index.php?module=default&action=get&p[]=$1

Fichier app/moddefault/index.php :

    public function public_get($metaname) {
        $metaname = basename($metaname);
        if ($metaname !== '' && file_exists(get_query_template('pages/'.$metaname))) {
            $this->_set('view', $metaname);
        } else {
            $this->_set('view', '404');
        }
    }

Donc, /bla.html serait associé à wp-content/themes/THEME/pages/bla.php