Carnet Wiki

Accéder aux tables WordPress

Version 3 — Mai 2013 YannIC

Un exemple rapide d’usage des squelettes SPIP (avec une base externe),
pour simplement lister le contenu d’un site WordPress, en préalable a sa reprise.

Cette page montre aussi un exemple d’accès à des tables externes à SPIP...

Cette page de Documentation Documentaion , complémentaire au plugin WP2SPIP a comme simple raison de mettre à disposition et documenter quelques squelettes qui pourraient être utiles pour des personnes voulant reprendre les données en tables WordPress,
sans avoir à rechercher des définitions de champs dans les bases de données.

L’usage des facilités de tables externes (déjà autorisé en SPIP 2) rend plus facile la modification des squelettes fournis en fonction du prefixe des tables utilisé dans l’installation WordPress ciblée, puisque justement il n’y en a pas, et que vous pouvez meme exporter un Wordpress situé sur un autre serveur MySQL (sous réserve bien sûr que votre serveur SPIP ait SPIPait les droits d’accès à ce MySQL).

Paramétrage préalable : accès à WordPress

Le secret de la facilité d’usage des squelettes fournis se trouve dans le paramétrage d’un fichier de connexion secondaire, à nommer wp.php, que SPIP 3 pourra vous créer automatiquement dnas le répertoire ./config.

Un exemple vous en est donné ci-dessous :

<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
define('_MYSQL_SET_SQL_MODE',true);
// $GLOBALS['spip_connect_version'] = .7;
//function spip_connect_db($host, $port, $login, $pass, $db='', $type='mysql', $prefixe='', $auth='')
spip_connect_db('localhost','','*root*','*password*','base_wp','mysql', 'wp_prefix','');
?@@@SPIP_DIFF0@@@>

Vous pouvez bien sur générer ce fichier de connexion en SPIP 3, avec le choix Maintenance / maintenance Technique dans l’interface privée de votre SPIP 3, surtout si vous isntallez SPIP avec un prefixe de jeux de tables différent du prefixe de WP (ce qui est tout de meme conseillé au cas où une table d’un plugin Wordpress aurait le meme nom qu’une table SPIP..). > </code >

Spécificités d’usage technique

Les squelettes fournis dans le zip ne sont que de simples noisettes que l’on appellera sans paramètre, plus facilement en mode Z ; ci-dessous l’exemple de l’affichage des Posts :

<B_ligne>
<h3>wp_posts (#TOTAL_BOUCLE)</h3>
<ul>  #PAGINATION
<BOUCLE_ligne(wp:spip_posts) {par  id} {pagination 20} >
<li> #ID #POST_AUTHOR  [<i>(#POST_DATE|affdate_jourcourt) #POST_DATE_GMT</i>] <h4> #POST_TITLE</h4><p>#POST_CONTENT</p>  
 #POST_EXCERPT  #POST_STATUS #COMMENT_STATUS  #POST_PASSWORD 
 #POST_NAME     #TO_PING #PINGED   [<i>(#POST_MODIFIED|affdate_jourcourt)   #POST_MODIFIED_GMT</i>]  #POST_CONTENT_FILTERED  #POST_PARENT #GUID #MENU_ORDER #POST_TYPE  #POST_MIME_TYPE #COMMENT_COUNT
#TERM_GROUP 
  </li>
</BOUCLE_ligne>
</ul>    #PAGINATION
</B_ligne>

Les boucles n’ont qu’une particularité : <BOUCLE_ligne(wp:spip_posts) ...>
la table sur laquelle SPIP va boucler, spécifiée à l’intérieur des parenthèses de la ligne BOUCLE_.. est indiquée en « nom physique » réel [1], spécifiant toutefois le préfixe symbolique spip_ qui sera automatiquement remplacé par le prefixe spécifié dans le septième paramètre du fichier de connexion ci-dessus, celui-là même qui est choisi par le radical fourni avant le séparateur

:</ode>}}.[[Apparement une ecriture en Majsucules standard -telle que recommandée dans les documentations consultées- n'a pas fonctionné !]]


N.B.: Il a aussi été choisi de presenter un squelette proposant l'usage de la pagination....


{{{Lancer la page d'accueil}}}
Quelques squelettes basiques sont proposés pour vous afficher l'ensemble des champs disponibles : attention, ces squelettes montrent la totalité de la base, et donc ils ne sont pas à laisser tel quels sur un site Internet en production publique.


En copiant le contenu fourni dans un sous répertoire de votre dossier squelettes, vous pourrez obtenir la page d'accueil ci-dessous.


<img11730|center>


Si vous avez déjà installé Zpip, les liens proposés utilisent directement la structure Z pour afficher les blocs fournis dans <code>./squelettes/contenu/page-wp_xxx

.

Sinon, libre à vous de les afficher/modifier,
ou de remplacer les URL proposées de façon analogue à l’exemple indiqué...

Nota Bene : la pagination SPIP n’a été introduite que dans les squelettes d’affichage des Posts dans cette première version.

Pour aller plus loin


-  accéder accéder directement aux tables dans Spip-Vertebres Vertebres :
Vous pouvez utiliser une installation spécifique de SPIP 3 dans le meme répertoire que WordPress (en prenant soin de protéger le index.php d’origine WordPress), si vous avez l’autorisation l’autroraisation du webmestre d’accéder à a ce serveur.

En choisissant le meme prefixe pour SPIP que pour les tables du Wordpress installé,
et en vous connectant comme WebMestre vous pourrez directement utiliser les facilités de Vertebres (uniquement documenté en Vertebres), accessibles par ./ecrire/?exec=vertebres pour surfer sur le contenu du blog en base, sans risquer de modifier les données d’origine.
- valider l’intégration dans un squelette inspiré des blogs WordPress, pour obtenir un produit prêt à emploi.... et plus facilement adaptable à des besoins particuliers [2]

Selon les demandes, on pourrait envisager d’en faire un plugin, prêt à l’usage « out-of-the-box ».