J'essaie d'écrire un script php que je peux manquer de cron pour créer de nouvelles pages Wordpress.
Malheureusement, je ne trouve aucune documentation sur la façon de procéder. J'utilise les scripts WP plutôt que de manipuler directement le code SQL ... mais toujours pas de joie. Le ci-dessous fonctionne sans erreur ... mais ne produit également aucune page. Je suis triste.
Quelqu'un sait-il comment faire ça?
#!/usr/local/php5/bin/php
<?php
include ('/some/path/wordpress/wp-admin/admin.php');
include ('/some/path/wordpress/wp-includes/post.php');
$to_insert = array();
$to_insert['post_author'] = 0;
$to_insert['post_content'] = '<h1>Here is my info</h1>\n<ul><li>one</li><li>two</li></ul>\n';
$to_insert['post_type'] = 'page';
$to_insert['post_status'] = 'publish';
$to_insert['post_title'] = 'We Must Test';
$result = wp_insert_post($to_insert,true);
if ( is_wp_error($result) ) {
echo $result->get_error_message();
}
Vous devriez inclure ce fichier:
include( "/some/path/wordpress/wp-config.php" );
Cela vous mènera où vous pouvez utiliser la fonction wp_insert_post ().
S'il s'agit d'un blog multi-site, veillez à utiliser d'abord la fonction switch_to_blog ().
Vos inclus sont quelque peu incorrects, et il vous manque également certaines autres informations clés qui constituent un message (mais peut-être pas une page). Dans l'ensemble, vous êtes sur la bonne voie.
Consultez le script créé par jwz (et je l'ai aidé à réparer) pour savoir comment créer un post via une ligne de commande. Vous pouvez également élargir l’idée pour créer des pages:
Les fichiers que vous essayez d'inclure ne sont que de petites parties de WordPress et ne fonctionneront pas sans être correctement chargés par celui-ci. Vous devez le charger correctement, voir intégrant WordPress dans le Codex.
Peut-être suis-je absent, mais pourquoi avez-vous besoin de ce script cron? Je sais que vous pouvez définir une date de publication pour les pages/publications afin que vous puissiez la programmer pour une publication à une date/heure donnée.
J'utilise une version modifiée du plugin txt-as-post. Avec cela, vous pouvez lire dans un zip de messages. Je l'appelle ensuite via cron (je préfère cette façon-là que d'utiliser les WP intégrés dans cron).