让WordPress生成仅在发布新内容时才更新的自定义XML文件(而不是网站地图)?

时间:2011-01-12 作者:Ghost9

我不是在找一个网站地图,我想创建一个可以通过flash菜单访问的xml文件,但我不想每次有人访问页面时都生成xml文件,我想有一个静态xml来参考以提高速度。我想让wordpress在发布新内容(而不是评论)时更新文件。

wordpress中是否有任何内置内容允许我这样做?有插件吗?再说一次,我不想要网站地图。我想要一份具体的物品清单。目前,我一直在使用带有自定义循环的页面模板,但每次生成都需要很长时间。

3 个回复
最合适的回答,由SO网友:MathSmath 整理而成

隐马尔可夫模型。。。不确定是否有用于创建文件的WordPress特定函数。有wp\\u handle\\u upload,但我不确定您在这种情况下会如何使用它。

根据您的服务器配置,您可能只需使用fopen和fwrite即可完成此操作。

保留您当前使用的代码(与您的自定义循环…我假设它们包含您想要的XML标记),但让它将输出构建为字符串。然后将该字符串保存到文件中。类似于:

// 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);
当然,这一切都取决于您的服务器配置和权限。也许有人有一个更好的解决方案,只需要本地WP函数。

SO网友:Denis de Bernardy

没有内置功能,但您应该查看各种站点地图插件。这些将向您展示a)在何处连接,以及b)如果您不熟悉php文件操作,如何生成文件。

SO网友:onetrickpony

看一看export_wp 作用

复制并仅保留要导出的内容,然后在每次保存帖子时运行此功能:add_action(\'save_post\', \'my_export_wp\');

(使函数将其输出发送到xml文件)

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?