décembre 29

Sauvegarder WP sur Google Drive

Sauvegarder les dossiers et la base de donnée d’un site WordPress sur Google Drive, le plugin présenté içi permettent aussi de sauvegarder sur DropBox ou autre services.

Le plugin UpDraftPLus permet de sauvegarder sur Google Drive, DropBox et autre.

Installer le plugin et passer à la partie configuration. Il est recommandé de laisser 2 version des fichiers et de la base SQL.

Une fois indiqué de sauvegarder sur Google Drive, on voit apparaître une URL qui devra être indiquée à la création du client ID (voir après).
On doit aussi, à l’inverse, indiquer le numéro de client et la clé secrète, fourni par Google (voir après).

Créer un dossier dans Google Drive, l’ouvrir et copier la série de chiffres indiquées dans la barre d’adresse de son navigateur, à la suite de « #folders/ ».

wp-updraftplus-01

 

ATTENTION: la nouvelle version (gratuite) du plugin ne permet plus de choisir le nom du dossier Google Drive mais impose un nom précis « updraftplus/nom_du_site.
De plus, depuis mai 2014, la configuration de Google Drive à été modifié.

http://updraftplus.com/support/configuring-google-drive-api-access-in-updraftplus/

Sauvegarder les paramètres.

 

Google developer

Créer un projet

Chaque compte Google permet de créer des API (programmation qui lie un ou plusieurs services ou logiciels) qui va permettre de lier le plugin UpDraftPlus au Google  Drive du compte.

Allez sur Google Developers Console, et créer un nouveau projet du style « Sauvegarde site Web ».

google-developers projet

Cliquer sur le nom du projet, pour allez à la rubrique « overview », puis sur API et credentials (identifiants)

Créer un nouveau client ID

google-developers-creation-02

La liste des projets (un peu planquée ??) est içi.

Indiqué l’URL de redirection (donné par le plugin) et copier le numéro ID et clé (pour le plugin).
Et dans le champs origine JavaScript, indiquer juste le début de l’URL de redirection (l’adresse du site).

Activer les API et surtout celle de Drive.

updraft-drive-api

 

Une fois fais, retourner sur la page du plugin UpdarftPlus et cliquer sur le lien permettant d’autoriser le plugin à communiquer avec le client ID.

wp-updraftplus-02

 

Une fois la sauvegarde effectuée, le dossier de Google Drive contiendra un zip pour chaque type de dossier et la base SQL.

wp-updraftplus-drive

Source

 

 

 

décembre 25

Ajouter un widget de notes dans l’admin

Il peut être bien d’avoir un petit bloc-notes dans l’admin de WP, pour ce rappeler certains shortcode ou donner des infos aux utilisateurs par exemple.

Dans le fichier « functions.php » du thème, rajouter

function notes_admin() {
echo "<h2>Lexique</h2><p>[no explanation]le mot[/no explanation]</p>";
}
function widget_notes_admin() {
wp_add_dashboard_widget('notes_admin', 'Notes', 'notes_admin');
}
add_action('wp_dashboard_setup', 'widget_notes_admin' );

Ce qu’on veux entre « echo » évidement.

Catégorie : WORDPRESS | Commenter
décembre 3

WordPress en local avec InstantWP

InstantWP est un logiciel portable qui inclus un serveur Web et un PHPmyAdmin.
On peut donc  facilement y installer un site et le trimbaler sur une clé USB.

De plus, il suffit de copier/coller le dossier du site pour créer une copie parfaite du site. Imparable pour faire un test SANS altérer l’original.

Importer un WordPress en ligne dans InstantWP

Je fais automatiquement des sauvegarde fichier/SQL de mon site Web, hébergé chez OVH, sur ma DropBox via une extension.
Je peux donc importer mon site dans un InstantWP vierge.

Copier l’intégralité du dossier « www » dans le dossier « InstantWP\iwpserver\htdocs\wordpress »

Modifier le fichier wp-config.php comme ceçi :

/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', '');

/** MySQL hostname */
define('DB_HOST', 'localhost');

Importer la base de donnée SQL dans le PHPmyAdmin de InstantWP

Modifier l’adresse du site

En passant par l’admin de WP (login et passe idem que en ligne)

A la rubrique Réglages/générales, indiquer l’URL local dans les 2 champs :

http://127.0.0.1:4001/wordpress

Le site est accessible. Cependant, certaines fonctions ou extensions nécessitant un serveur en ligne pourront peut être déconnés… à ajuster donc.

 

Catégorie : WORDPRESS | Commenter
octobre 31

En cas de problèmes avec WordPress

Désactiver les plugins SANS passer par l’admin

Commencez par vous connecter à votre serveur FTP, puis allez dans le dossier “wp-content”.
Renommez le dossiers “plugins” en “plugins.inactifs”. Essayez ensuite de vous connecter à l’administration de votre site (wp-admin).
Si vous y parvenez, c’est qu’au moins une des extensions est responsable de l’écran blanc. A ce stade, WordPress aura désactivé tous vos plugins.

Retournez alors dans le dossier “wp-content”, puis renommez le dossiers “plugins.inactifs” en “plugins”.

Enfin, dans l’administration de votre site, réactivez un à un les plugins jusqu’à ce que vous ayez à nouveau l’écran blanc.
Vous aurez ainsi identifié l’extension qui vous cause des soucis.

source

Catégorie : WORDPRESS | Commenter
octobre 13

Ajouter un flux RSS dans une page

Dans le fichier « functions.php », insérer :

/* flus RSS page */
include_once(ABSPATH.WPINC.'/rss.php');

function readRss($atts) {
extract(shortcode_atts(array(
"feed" => 'http://',
"num" => '1',
), $atts));

return wp_rss($feed, $num);
}

add_shortcode("rss", "readRss");

Dans une page de WP, insérer le shortcode :

[rss feed="adresse-du-flux-rss" num="20"]

num correspond au nombre maxi d’item affiché.

source
http://perishablepress.com/import-and-display-rss-feeds-in-wordpress/
Catégorie : WORDPRESS | Commenter
octobre 13

Créer une page de flux RSS

Des plugins permettent d’insérer, via un shortcode, un flux RSS externe dans une page de WordPress.

mais on peut préférer ce passer de plugin et créer de toute pièce, une page dédié dans le thème de WordPress.

1er méthode

Créer un fichier dans le thème du style « page-flux-rss.php »
Copier/coller dedans le code HTML d’une autre page du thème (histoire de récupérer header/footer et sidebar)

Au tout début du code (avant header) coller :

<?php
include_once(ABSPATH.WPINC.'/rss.php'); // path to include script
$feed = fetch_rss('http://gplusrss.com/rss/feed/7d07dc8d4308389a4f38848524174fdc525a7c81279de'); // url du flux
$items = array_slice($feed->items, 0, 10); // 1er et dernier item
?>

A l’endroit habituel du contenu, inséré :

<?php if (!empty($items)) :
foreach ($items as $item) :
$date = substr($item['pubdate'], 4, 13); // afficher: jour, mois, année
// conversion en Franþais
setlocale(LC_TIME, 'fr_FR.UTF8');
setlocale(LC_TIME, 'fr_FR');
setlocale(LC_TIME, 'fr');
setlocale(LC_TIME, 'fra_fra');
$date_fr = strftime('%d %B %Y'); 
   // affichage sur la page       
?>
<div id="FluxRSS""><?php echo $item['description']; ?></div><!-- titre, lien vers article et image-->
<p style="text-align: right;"><span>Publié le : </span><span><?php echo $date; ?></span></p>
<p style="margin-bottom: 25px;"></p>
<?php endforeach;
endif; 
?>
</div>

A ce stade, la page est visible à l’adresse : www.mon-site.com/wp-content/wp/themes/mon-theme/page-flux-rss.php.

Pour que l’adresse soit plus simple et bien intégré à WordPress, créer une page avec un titre comme bon vous semble, et éditer le permalien en indiquant « flux-rss » (affin d’appeler la page éponime).
Publier la page et créer un lien vers celle-çi dans le menu du site.

Le code généré (dans mon cas le flux vient de Google+, via GplusRSS (voir article sur le sujet):

<div class="attachments">
<p class="attachment article">
<p class="attachment_article_content">
<p></p>

Avantage, le lien dirige vers l’article original et non vers l’item de ma page Google+

Librement inspiré de : perishablepress.com

Perso, j’ai eu parfois des erreurs PHP sur la page, j’ai donc dégoté une autre méthode.

2em méthode

Créer un fichier dans le thème du style « page-flux-rss.php »
Copier/coller dedans le code HTML d’une autre page du thème (histoire de récupérer header/footer et sidebar)

Insérer ce code

<h3 id="TitrePage"><?php echo get_the_title('2301'); ?></h3>

<div>
    <?php
    $rss = new DOMDocument(); //service de conversion G+ en flux RSS
    $rss->load('http://gplusrss.com/rss/feed/7d07dc8d4308389a4f38848524174fdc525a7c81279de');
    $feed = array();
    foreach ($rss->getElementsByTagName('item') as $node) {
    $item = array (
    'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
    'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
    'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
    'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
    );
    array_push($feed, $item);
    }
    $limit = 10; //limite impose par gplusrss.com
    for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
    $link = $feed[$x]['link'];
    $description = $feed[$x]['desc'];
    $date = date('d-Y', strtotime($feed[$x]['date']));
    // conversion en Franþais
    setlocale(LC_TIME, 'fr_FR.UTF8');
    setlocale(LC_TIME, 'fr_FR');
    setlocale(LC_TIME, 'fr');
    setlocale(LC_TIME, 'fra_fra');
    $date_fr = strftime('%d %B %Y'); 
    // affichage sur la page       
    echo '<h4><a href="'.$link.'" title="'.$title.'" style="text-decoration: none;">'.$title.'</a></h4>';  
    echo '<p>'.$description.'</p>';
    echo '<p style="color: grey;"> Publi&eacute; le '.$date_fr.'</p>'; 
    echo '<hr />';
    echo '<p> </p>';
    }
    ?>
</div>

Indiquer évidement votre propre flux RSS, le « get_the_title » doit indiquer l’ID de la page.

Personnalisez le CSS comme souhaitez.

Source

Catégorie : WORDPRESS | Commenter
juillet 13

Duplicator

L’extension Duplicator permet de transférer un site WordPress d’un serveur sur un autre (vide).

Site Web source

On installe l’extension sur le WordPress que l’on souhaite déplacer.

On test si le serveur est OK pour créer le package.

duplicator-check

Sur cette exemple, il m’a fallut rajouter dans la liste d’exclusion le dossier wp-cache.
Par contre, l’erreur de « open_basedir » (qui est un protocole de sécurité) vient du fait qu’il est activé sur mon hébergeur (hostinger) et malheureusement pas désactivable.

Pas possible donc de créé le package, mais j’ai testé en local, ça marche.

L’extension propose un  bouton « package » permettant de créer :
  • un zip du contenu du site, avec un nom du style : 51d96cac1a7ad1879_20130707_mon-site_package.zip.
  • un bouton « Installer » permettant de créer un fichier « installer.php ».

Site Web destination

Envoyer en FTP, à la racine du site ou dans un dossier (pour un sous-domaine) le zip et le fichier « installer.php ».
une fois fait, se connecter via le navigateur, à l’URL du nouveau site
cliquer sur installer et suivre la procédure d’installation indiquer
duplicator-installer duplicator-installer2-2
Une fois fait, il est indiquer de supprimer automatiquement certains fichiers propre à Duplicator, de modifier éventuellement les redirections dans .htaccess.
» Resave Permalinks This will update url rewrite items like the .htaccess file (requires login)
» Delete Installer Files Removes installer.php, installer-data.sql, installer-log.txt & package (requires login)
» Test Entire Site Validate all pages, links images and plugins
» View Install Report Deploy Errors: 0     Update Errors: 0     Warnings: 0
Ce qui est cool c’est que ça peut faire aussi office de sauvegarde puisque que le zip contient les fichiers et la base SQL.
Un tuto : http://www.bgsoftfactory.fr/index.php/deplacer-wordpress/
mai 13

Fixer la largeur de l’éditeur TinyMCE de WordPress

Quand on fait un site Web, la partie du contenu à souvent une largeur définie. Mais quand on rédige la page dans l’éditeur, celui-çi a une largeur pré-défini et donc sans aucun rapport avec le site.

ce code, rajouté au fichier functions.php du thème, permet d’indiquer sa propre valeur « width » (en pixel).

function config_tinyMce($init) {
    $init['width'] = '620';
    return $init;
}
add_filter('tiny_mce_before_init', 'config_tinyMce' );

Attention cependant car si l’éditeur dispose de beaucoup de boutons, placés en largeur, ceux la « poussent » la fenêtre vers la droite.
Il faudra donc parfois modifier le nombre et/ou la position des boutons, via une extension du style TinyMCE advanced.

Catégorie : WORDPRESS | Commenter
mai 11

Cocher « se souvenir de moi »

Par prudence et pour ne pas imposer un choix à l’utilisateur, à l’admin de wordpress la case « se souvenir de moi » n’est pas cochée. C’est dommage si on est le seul à utiliser le site.

Pour éviter ça, rajoutez ce code dans le fichier functions.php du thèmes.

/* cocher "se souvenir de moi" */
add_action( 'login_form' , create_function( '', 'global $rememberme; $rememberme = 1;' ) );

Catégorie : WORDPRESS | Commenter