- Statut : non résolu
- Ce sujet contient 16 réponses, 3 participants et a été mis à jour pour la dernière fois par
Anonyme, le il y a 8 années et 11 mois.
-
AuteurMessages
-
21 mai 2014 à 13 h 28 min #537956
Bonjour,
j’utilise le plugin forum de BuddyPress qui crée des entrées (enregistrements) dans la table wp_posts.
Je voudrais pouvoir écrire moi-même dans cette table (INSERT INTO…) pour migrer d’un ancien forum, vers WordPress.Quand j’ajoute une entrée forum, ça fonctionne.
Quand j’ajoute une entrée topic (nouveau message), ça ne fonctionne pas (et je n’arrive pas à savoir pourquoi).
Quand j’ajoute une entrée reply (réponse à un topic ou à un autre reply), ça fonctionne également. 🙂Quelqu’un pourrait-il m’aider à comprendre le fonctionnement de cette table qui « regroupe tout » SVP ? Est-ce qu’il faut ajouter une ligne dans une autre table (laquelle) ?
Merci. 🙂
21 mai 2014 à 14 h 34 min #953824on n’écrit pas directement dans la table, on utilise les fonctions wordpress qui sont faites pour ça (wp_insert_post() ) en l’occurrence
22 mai 2014 à 9 h 26 min #953825Merci.
Serait-il possible d’utiliser cette fonction wp_insert_post() en GET (depuis l’URL) ou en POST pour automatiser l’alimentation de cette table ?25 mai 2014 à 16 h 45 min #953826Anonyme
InvitéMaître WordPress34063 contributionsCe message a été supprimé suite à la demande de l’auteur.
26 mai 2014 à 12 h 19 min #953827Sur le forum Redmine, il me suffit d’aller chercher simplement les informations en base (SELECT), c’est bien uniquement pour les INSERT côté WordPress que ça se complique. 🙂
26 mai 2014 à 15 h 29 min #953828Anonyme
InvitéMaître WordPress34063 contributionsCe message a été supprimé suite à la demande de l’auteur.
27 mai 2014 à 15 h 28 min #953829Anonyme
InvitéMaître WordPress34063 contributionsCe message a été supprimé suite à la demande de l’auteur.
4 juin 2014 à 13 h 40 min #953830Bonjour,
en fait, il y a bien un forum wordpress (buddypress a installé (entre autre) un forum sur mon wordpress).
Je veux donc déplacer tout ce contenu (forums, topics reply) de mon redmine vers mon forum wordpress.Mon développement a avancé, et il me vient une question. En alimentant ma table wordpress wp_posts avec la fonction PHP qui va bien ( http://codex.wordpress.org/Function_Reference/wp_insert_post ), si j’ai bien compris, lorsqu’on ne met pas de valeur au champs ID, c’est qu’on crée un nouveau post, et lorsqu’on en met une, c’est qu’on modifie un enregistrement existant.
Mais est-ce que je peux me permettre d’ajouter un nouvel enregistrement en lui fixant une valeur ? 🙂
Merci encore noaneo.
4 juin 2014 à 14 h 57 min #953831Anonyme
InvitéMaître WordPress34063 contributionsCe message a été supprimé suite à la demande de l’auteur.
5 juin 2014 à 14 h 33 min #953832Il me faut une manière d’ajouter un nouvel enregistrement en choisissant l’ID. 🙂
5 juin 2014 à 15 h 37 min #953833Anonyme
InvitéMaître WordPress34063 contributionsCe message a été supprimé suite à la demande de l’auteur.
6 juin 2014 à 9 h 01 min #953834Bonjour.
Buddypress ne fait qu’installer un pack de plugin dont bbpress que j’utilise ici. C’est de redmine vers bbpress que je veux migrer mon forum, mais cela n’a pas trop d’importance.
C’est important pour moi de changer l’ID car pour la migration, j’ai développer tout un processus, et choisir l’ID me permettrait de m’en sortir.
Merci quand même.
6 juin 2014 à 14 h 00 min #953835Anonyme
InvitéMaître WordPress34063 contributionsCe message a été supprimé suite à la demande de l’auteur.
11 juin 2014 à 9 h 51 min #953836J’essaierais bien, mais je n’arrivais pas à faire fonctionner le script PHP :
cache_enabled = false;
// Fix for page title
$wp_query->is_404 = false;
do_action( ‘activate_header’ );
/**
* Adds an action hook specific to this page that fires on wp_head
*
* @since MU
*/
function do_activate_header() {
/**
* Fires before the Site Activation page is loaded, but on the wp_head action.
*
* @since 3.0.0
*/
do_action( ‘activate_wp_head’ );
}
add_action( ‘wp_head’, ‘do_activate_header’ );
// include_once(« C:wampwwwwp-blog-header.php »); // Permet d’accéder à la fonction
// ——————- CONNEXION A LA TABLE TEMPORAIRE —————–
$PARAM_hote=’localhost’; // le chemin vers le serveur
$PARAM_port=’3306′;
$PARAM_nom_bd=’bd_name’; // le nom de votre base de données
$PARAM_utilisateur=’root’; // nom d’utilisateur pour se connecter
$PARAM_mot_passe= »; // mot de passe de l’utilisateur pour se connecter
$connexion = new PDO(‘mysql:host=’.$PARAM_hote.’;port=’.$PARAM_port.’;dbname=’.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
// Gestion des erreurs
try
{
$connexion = new PDO(‘mysql:host=’.$PARAM_hote.’;dbname=’.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
}
catch(Exception $e)
{
echo ‘Erreur : ‘.$e->getMessage().’<br />‘;
echo ‘N° : ‘.$e->getCode();
}
?>
query(« SELECT * FROM wp_posts ORDER BY ID DESC LIMIT 0,1 »); // on va chercher tous les champs de la table
$resultats->setFetchMode(PDO::FETCH_OBJ); // on dit qu’on veut que le résultat soit récupérable sous forme d’objet
while( $ligne = $resultats->fetch() ) // on récupère la liste des enregistrements de la table
{
// Réception des données en POST
$post = array(
‘ID’ => $ligne->ID, // Are you updating an existing post?
‘post_author’ => $ligne->post_author, // The user ID number of the author. Default is the current user ID.
‘post_date’ => $ligne->post_date, // [ Y-m-d H:i:s ], // The time post was made.
‘post_date_gmt’ => $ligne->post_date_gmt, // [ Y-m-d H:i:s ], // The time post was made, in GMT.
‘post_content’ => $ligne->post_content, // The full text of the post.
‘post_title’ => $ligne->post_title, // The title of your post.
‘post_excerpt’ => $ligne->post_excerpt, // For all your post excerpt needs.
‘post_status’ => $ligne->post_status, // Default ‘draft’.
‘comment_status’ => $ligne->comment_status, // Default is the option ‘default_comment_status’, or ‘closed’.
‘ping_status’ => $ligne->ping_status, // Pingbacks or trackbacks allowed. Default is the option ‘default_ping_status’.
‘post_password’ => $ligne->post_password, // Password for post, if any. Default empty string.
‘post_name’ => $ligne->post_name, // The name (slug) for your post
‘to_ping’ => $ligne->to_ping, // Space or carriage return-separated list of URLs to ping. Default empty string.
‘pinged’ => $ligne->pinged, // Space or carriage return-separated list of URLs that have been pinged. Default empty string.
‘post_modified’ => $ligne->post_modified,
‘post_modified_gmt’ => $ligne->post_modified_gmt,
‘post_content_filtered’ => $ligne->post_content_filtered, // Skip this and let Wordpress handle it, usually.
‘post_parent’ => $ligne->post_parent, // Sets the parent of the new post, if any. Default 0.
‘guid’ => $ligne->guid, // Skip this and let Wordpress handle it, usually.
‘menu_order’ => $ligne->menu_order, // If new post is a page, sets the order in which it should appear in supported menus. Default 0.
‘post_type’ => $ligne->post_type, // Default ‘post’.
‘post_mime_type’ => $ligne->post_mime_type, //[ ] // Requires name of template file, eg template.php. Default empty.
‘comment_count’ => $ligne->comment_count, //[ ] // Requires name of template file, eg template.php. Default empty.
// C’est champs ne sont pas en base mais je préfère les conserver pour la fonction.
‘post_category’ => $ligne->post_category, // [ array(, …) ] // Default empty.
‘tags_input’ => $ligne->tags_input, // [ ‘, , …’ | array ] // Default empty.
‘tax_input’ => $ligne->tax_input, // [ array( => ) ] // For custom taxonomies. Default empty.
‘page_template’ => $ligne->page_template, //[ ] // Requires name of template file, eg template.php. Default empty.
);
/*
echo ‘—-
ENREGISTREMENT !—-‘;
echo ‘: ‘.$ligne->ID.’<br />‘;
echo ‘: ‘.$ligne->post_author.’<br />‘;
echo ‘: ‘.$ligne->post_date.’<br />‘;
echo ‘: ‘.$ligne->post_date_gmt.’<br />‘;
echo ‘: ‘.$ligne->post_content.’<br />‘;
echo ‘: ‘.$ligne->post_title.’<br />‘;
echo ‘: ‘.$ligne->post_excerpt.’<br />‘;
echo ‘: ‘.$ligne->post_status.’<br />‘;
echo ‘: ‘.$ligne->comment_status.’<br />‘;
echo ‘: ‘.$ligne->ping_status.’<br />‘;
echo ‘: ‘.$ligne->post_password.’<br />‘;
echo ‘: ‘.$ligne->post_name.’<br />‘;
echo ‘: ‘.$ligne->to_ping.’<br />‘;
echo ‘: ‘.$ligne->pinged.’<br />‘;
echo ‘: ‘.$ligne->post_modified.’<br />‘;
echo ‘: ‘.$ligne->post_modified_gmt.’<br />‘;
echo ‘: ‘.$ligne->post_content_filtered.’<br />‘;
echo ‘: ‘.$ligne->post_parent.’<br />‘;
echo ‘: ‘.$ligne->guid.’<br />‘;
echo ‘: ‘.$ligne->menu_order.’<br />‘;
echo ‘: ‘.$ligne->post_type.’<br />‘;
echo ‘: ‘.$ligne->post_mime_type.’<br />‘;
echo ‘: ‘.$ligne->comment_count.’<br />‘;
*/
$post_id = wp_insert_post($post, $wp_error ); // Exécution de l’array
// Remarque : Avec wp_insert_post, $wp_error n’est pas obligatoire.
}
$resultats->closeCursor(); // on ferme le curseur des résultats
?>11 juin 2014 à 9 h 56 min #953837Mais je ne vois pas pourquoi demander à bbPress ou Buddy comment alimenter la table wp_posts (même si c’est pour alimenter des forums de leurs extensions). La table wp_posts regroupe toutes les extensions de WordPress (pas spécialement Buddypress ou autre) et est propre à wordpress.
Je vais donc m’orienter vers le forum anglais de WordPress.
Merci.
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.