WordPress

De Banane Atomic
Révision datée du 28 novembre 2016 à 13:36 par Nicolas (discussion | contributions) (Remplacement de texte — « <boxx>([^=]+)<\/boxx> » par « {{boxx|$1}} »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Liens

Philosophie

Post vs. Page

Les post sont les articles du blog.
Alors que les pages sont des éléments statiques du site comme la page d'accueil.

Categories vs. Tags

Tags are similar to categories, but they are generally used to describe your post in more detail.

Code

Date de publication des commentaires

Php.svg
comment_date('j M y - G:i')
// 27 sept 12 - 17:24

Function comment date
Formatting Date and Time

Child Themes

Permet de modifier un thème en créant un thème enfant héritant du parent. Ainsi les modifications ne sont pas écrasées lors de la mise à jour du thème parent.

wordpress/wp-content/themes/twentysixteen-child/fonctions.php
<?php
// permet d'inclure le style du thème enfant dans le style du thème parent
function my_theme_enqueue_styles() {

    $parent_style = 'twentysixteen-style';

    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( $parent_style ),
        wp_get_theme()->get('Version')
    );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>
wordpress/wp-content/themes/twentysixteen-child/style.css
/*
 Theme Name:   Twenty Fifteen Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Twenty Fifteen Child Theme
 Author:       Me
 Author URI:   http://example.com
 Template:     twentyfifteen
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twenty-fifteen-child
*/

Changer le port d'accès du site

Si le port d'accès du site vient à changer (via la configuration d'apache par exemple), le site wordpress ne marchera plus.
Il faudra aussi modifier la configuration de WordPress : Règlages → Général → URL
wordpress wont load after changing ports

Changer le chemin d'accès au site

Changing the URL of your WordPress site
Changing The Site URL

Giving WordPress Its Own Directory
Moving WordPress

Si les images d'en-tête et d'arrière plan ne s'affichent plus avec la nouvelle URL, il faut les regler à nouveau (reset puis ajout) dans Tableau de bord → Apparence

Rendre WordPress accessible en LAN et depuis internet

Accessible en LAN

Règlages → Général (Réglages généraux) :

  • Adresse web de WordPress → http://localhost/wordpress
  • Adresse web du site → http://localhost/wordpress

Accessible depuis internet

Règlages → Général (Réglages généraux) :

  • Adresse web de WordPress → http://monsite.domaine.fr:8080/wordpress
  • Adresse web du site → http://monsite.domaine.fr:8080/wordpress

Problème : l'adresse http://localhost/wordpress ne fonctionne plus.

/etc/hosts
# Lie l'URL à l'IP du serveur
127.0.0.1	monsite.domaine.fr
/etc/httpd/conf/httpd.conf
Listen 8080
/etc/httpd/conf/extra/httpd-vhosts.conf
NameVirtualHost *:8080

<VirtualHost *:8080>
    DocumentRoot "/srv/http"
    ServerName monsite.domaine.fr
</VirtualHost>

Balise more

Elle permet de délimiter la partie de l'article qui sera cachée dans l'affichage de l'article dans la page principale.

Html.svg
<!-- Affichage du texte par défaut : Continuer la lecture » -->
<!--more-->

<!-- Affichage d'un texte personnalisé -->
<!--more Lire la suite-->

Smiley

Using Smilies

Envoie d'emails sans sendmail

Par défault WP utilise le serveur mail sendmail pour envoyer ces emails.
Si sendmail n'est pas installé WP ne pourra envoyer d'emails et le fichier de log d'erreur d'apache /var/log/httpd/access_log affichera l'erreur suivante :
sh: /usr/sbin/sendmail: Aucun fichier ou dossier de ce type

La solution consiste à configurer WP pour utiliser un serveur SMTP. Cela peut se faire avec l'extension Configure SMTP.
Configuration pour le SMTP de Free :

  • SMTP host : smtp.free.fr
  • SMTP port : 465
  • Préfix de connexion : ssl
  • Authentification : inutile si la connexion utilisée appartient au réseau Free

Unable to find the socket transport "ssl"

/etc/php/php.ini
; décommentez l'extension openssl et redémarrez le serveur http
extension=openssl.so

Plugins

Installation manuelle

  1. Placer le plugin dans le dossier « wp-content/plugins »
  2. Aller dans Plugins → activer le plugin

Liste

NextGEN Gallery

NextGEN Gallery pour les galleries d'images.
Nécessite l'installation de php-gd et l'activation de gd dans /etc/php/php.ini

Liste de miniatures
[nggallery id=X]

Images qui défilent
[slideshow id=X w=X h=X]

Image avec boutons Next/Back
(nécessite le rechargement de la page pour passer d'une image à l'autre, possibilité de changer ce comportement dans les Options)
[imagebrowser id=X]

[singlepic id=X w=X h=X mode=web20|watermark float=left|right]
mode=web20 effet reflet en bas de l'image

Image en grand et les miniatures en dessous (nécessite le rechargement de la page)
[nggallery id=X template=carousel images=N]
images=N nombre de miniatures

Demos of All NextGEN Gallery Types

Custom Smilies

  • icone popup pour l'éditeur d'articles
  • barre de smiley pour l'éditeur de commentaires

Pour afficher la barre de smiley au dessus de la zone d'écriture des commentaires :

wp-includes/comment-template.php
/* ligne 1573 */
<?php endif; ?>
<?php cs_print_smilies(); ?>
<?php echo apply_filters( 'comment_form_field_comment', $args['comment_field'] ); ?>

Subscribe2

Permet de notifier des personnes lors de la publication d'un nouvel article

You must to create a WordPress page for this plugin to work correctly

  • Créez une page et y ajoutez [subscribe2]
  • Subscribe2 → Settings → Appearence → Set default Subscribe2 page as ID → sélectionnez la page créée

Installation

WordPress France

Créer la base de données

Bash.svg
# connexion à la base de données
mysql -u root -p
Mysql.svg
# création de la BdD
CREATE DATABASE wordpress;

# création d'un nouvel utilisateur pour cette BdD
GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress_user"@"localhost" IDENTIFIED BY "un_mot_de_passe";
FLUSH PRIVILEGES;
  • Configurer Nginx et uwsgi
  • Se rendre à l'adresse du site pour lancer l'installation automatisée

PHP

/etc/uwsgi/wordpress.ini
php-set = extension=mysqli.so