如何为导出的WXR文件名添加时间戳?

时间:2016-10-22 作者:glvr

我没有这方面的工作代码示例,所以我希望不要因为一个不恰当的问题而被抨击。。。

能够向WP xml导出(WXR)添加附加时间戳将非常有用。

我想这是可能的,那么我从哪里开始呢?

我想获得构成文件名一部分的日期戳,以同时包含时间(而不仅仅是年/月/日)。

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

我认为你不需要这样做,它已经存在了(如果我正确理解问题的话):

在WXR文件中,我们得到一个时间戳,如:

由以下内容生成:

<?php the_generator( \'export\' ); ?>
这需要get_the_generator() 其中,导出的情况是:

$gen = \'<!-- generator="WordPress/\' . get_bloginfo_rss(\'version\') 
    . \'" created="\'. date(\'Y-m-d H:i\') . \'" -->\';
可以通过get_the_generator_export 滤器

此外,将时间戳添加到xml文档中,包括:

<channel>
    ...
    <pubDate><?php echo date( \'D, d M Y H:i:s +0000\' ); ?></pubDate>
生成的导出文件名还包含一个日期戳:

$wp_filename = $sitename . \'wordpress.\' . $date . \'.xml\';
更新要修改导出的文件名,可以使用以下过滤器:

/**
 * Filters the export filename.
 *
 * @since 4.4.0
 *
 * @param string $wp_filename The name of the file for download.
 * @param string $sitename    The site name.
 * @param string $date        Today\'s date, formatted.
 */
 $filename = apply_filters( \'export_wp_filename\', $wp_filename, $sitename, $date );

Example:

在这里,我们添加\\TH-i-s 文件名的部分:

add_filter( \'export_wp_filename\', function( $wp_filename, $sitename, $date )
{
    return sprintf( 
        \'%swordpress.%s.xml\',
        $sitename, 
        date( \'Y-m-d\\TH-i-s\' )
    );

}, 10, 3 ); 
这将生成如下文件名:

sitename.wordpress.2016-10-22T19-26-07.xml
这将避免像这样一个可能令人困惑的下载系列:

sitename.wordpress.2016-10-22.xml
sitename.wordpress.2016-10-22 (1).xml
sitename.wordpress.2016-10-22 (2).xml
sitename.wordpress.2016-10-22 (3).xml
...
希望您可以根据自己的需要进行调整!

相关推荐

JSON file export of nav menu

我试图用json符号导出wordpress站点菜单的精华。我想提取一些细节,如id、类型、名称、子项,并想构建一个Json对象,如下所示。项目-{ id: \'wp entity id\', name: \'name of the category|taxonomy|post|page\', type: \'post|category|page\', children: [array of Items] } 其中,“子项”:此处表示子项“类