web-dev-qa-db-fra.com

This is a word word is a XML file (XML).

Je ne cherche pas de sitemap, je cherche à créer un fichier xml auquel je peux accéder par le menu flash, mais je ne souhaite pas générer le fichier XML XML statique à référencer pour la vitesse. Et j'aimerais que WordPress mette à jour le fichier chaque fois que du nouveau contenu est publié (pas des commentaires).

Est-ce que WordPress contient quelque chose qui me permettrait de le faire? Des plugins? Encore une fois, je ne veux pas de sitemap. Je veux une liste spécifique d'articles. À l’heure actuelle, j’utilise des modèles de page avec des boucles personnalisées, mais leur création est longue à chaque fois.

1
Ghost9

Hmm ... je ne sais pas s'il existe des fonctions spécifiques à WordPress pour la création de fichiers. Il y a wp_handle_upload, mais je ne sais pas comment vous l'utiliseriez dans ce contexte.

Selon la configuration de votre serveur, vous pouvez probablement utiliser simplement fopen et fwrite pour le faire.

Conservez le code que vous utilisez actuellement (avec vos boucles personnalisées ... je suppose qu'elles contiennent le balisage XML souhaité), mais faites-le générer la sortie sous forme de chaîne. Puis enregistrez cette chaîne dans un fichier. Quelque chose comme:

// Build your file contents as a string
$file_contents = '<?xml version="1.0" ?><yourroot><item>some content</item></yourroot></xml>';

// Open or create a file (this does it in the same dir as the script)
$my_file = fopen("myfile.xml", "w");

// Write the string's contents into that file
fwrite($my_file, $file_contents);

// Close 'er up
fclose($my_file);

Bien sûr, tout dépend de la configuration et des autorisations de votre serveur. Peut-être que quelqu'un a une meilleure solution qui ne nécessite que des fonctions natives WP.

0
MathSmath

Rien d’intégré mais vous ne devriez regarder dans les divers plugins de sitemaps. Ceux-ci vous montreront a) où connecter et b) comment générer le fichier si vous n'êtes pas familier avec la manipulation de fichier php.

1
Denis de Bernardy

Examinez la fonction export_wp .

Faites-en une copie et conservez uniquement les éléments à exporter, puis exécutez cette fonction chaque fois qu'une publication est enregistrée: add_action('save_post', 'my_export_wp');

(Assurez-vous que la fonction envoie sa sortie dans un fichier xml)

1
onetrickpony