尝试在 save_post 上生成 XML 文件

Trying to generate a XML file on save_post

提问人:BrassMonkey 提问时间:10/30/2023 更新时间:10/30/2023 访问量:30

问:

每当页面、帖子或 CPT 更新时,我都会尝试更新 XML 站点地图。

出于故障排除目的,我的代码就是这样 - 在简短的 XML 文件中生成一个随机数:

function xml($post_id){

    $dom = new DOMDocument();
    $dom->encoding = 'utf-8';
    $dom->xmlVersion = '1.0';
    $dom->formatOutput = true;

        $xml_file_name = 'sitemap.xml';
    $root = $dom->createElement('sitemapindex');
        $root->setAttribute('rand', rand(100,999));

    $dom->appendChild($root);
        $dom->save($xml_file_name);

}
add_action('save_post','xml');

这是行不通的。但是,如果我将钩子从“save_post”更改为“init”,则此功能确实有效 - 尽管显然在我访问该站点时起作用,而不是在保存帖子时。

“save_post”有什么问题,我应该怎么做才能让它正常工作?

PHP XML 的WordPress

评论

0赞 Chris Haas 10/30/2023
每当我在处理 WordPress 钩子问题时,我做的第一件事就是确保钩子首先为我触发。所以不要做任何复杂的事情,只要把一个扔进钩子里,如果你明白了,那么你就知道钩子至少在发射。die('Here');

答: 暂无答案