Cum să fac WordPress să genereze un fișier XML personalizat (nu o hartă de site) care se actualizează doar la adăugarea de conținut nou?
Nu caut o hartă de site, ci să creez un fișier XML pe care un meniu Flash să-l poată accesa. Nu doresc ca fișierul XML să fie generat de fiecare dată când cineva vizitează o pagină, ci să am un fișier XML static pentru viteza de acces. De asemenea, aș dori ca WordPress să actualizeze fișierul ori de câte ori este adăugat conținut nou (nu comentarii).
Există ceva încorporat în WordPress care să-mi permită să fac asta? Sau vreun plugin? Din nou, nu vreau o hartă de site. Vreau o listă specifică de articole. Momentan folosesc șabloane de pagini cu bucle personalizate, dar durează prea mult să se genereze de fiecare dată.

Nu există nicio funcționalitate încorporată, dar ar trebui să te uiți la diferitele pluginuri pentru hărți ale site-ului. Acestea îți vor arăta a) unde să te conectezi și b) cum să generezi fișierul dacă nu ești familiarizat cu manipularea fișierelor PHP.

Aruncă o privire la funcția export_wp.
Realizează o copie a acesteia și păstrează doar elementele pe care dorești să le exportezi, apoi rulează această funcție de fiecare dată când un articol este salvat: add_action('save_post', 'my_export_wp');
(Asigură-te că funcția trimite rezultatul într-un fișier XML)

Hmm... nu sunt sigur dacă există funcții specifice WordPress pentru crearea fișierelor. Există wp_handle_upload, dar nu sunt sigur cum l-ai putea folosi în acest context.
În funcție de configurația serverului tău, probabil poți folosi direct fopen și fwrite pentru asta.
Păstrează codul pe care îl folosești acum (cu buclele tale personalizate... presupun că ele conțin marcajul XML dorit), dar fă-l să construiască rezultatul ca string. Apoi salvează acel string într-un fișier. Ceva de genul:
// Construiește conținutul fișierului ca string
$file_contents = '<?xml version="1.0" ?><yourroot><item>some content</item></yourroot></xml>';
// Deschide sau creează un fișier (acesta o face în același director cu scriptul)
$my_file = fopen("myfile.xml", "w");
// Scrie conținutul string-ului în fișier
fwrite($my_file, $file_contents);
// Închide fișierul
fclose($my_file);
Desigur, totul depinde de configurația serverului tău și permisiuni. Poate cineva are o soluție mai bună care folosește doar funcții native WordPress.

partea "să construiască rezultatul ca un șir de caractere" nu sunt sigur despre ea. aș pune URL-ul ca $file_contents = http://blog.com/sitetemplate

cum aș putea face ca acel fișier să fie apelat de fiecare dată când cineva publică un articol?

ah! am primit un răspuns la asta. Singura mea întrebare acum este, există vreo modalitate de a seta calea de salvare? ca să pot alege directorul în care se salvează?

Desigur. fopen ar trebui să poată accepta o cale locală completă (ceva de genul var/www/html/yoursitefolder/someotherfolder/yourfile.xml). Desigur, acest lucru va depinde de permisiunile corecte de scriere în acel folder.

poți face asta cu o singură funcție numită: file_put_contents(); - http://php.net/manual/en/function.file-put-contents.php
