WordPress 5.7 增强导入/导出功能

    当前位置:
  • 首页
  • 帮助支持

WordPress 5.7 增强导入/导出功能

53
2021-03-01 10:03:44

WordPress 5.7 增强了WordPress内置的导入/导出功能。
WordPress 5.7 增强导入/导出功能 (https://www.wpzt.net/) 帮助支持 第1张
一个新的导出特定的文章标题过滤器

WP 5.7引入了为文章标题创建特定于导出的过滤器。

从WordPress 2.5和2.6开始, post_content 和 post_excerpt 都具有特定于导出的过滤器: the_content_export和 the_excerpt_export。 但是,post_title使用了 the_title_rss,它在两种重要方式上的行为有所不同:

它从字符串中剥离HTML标签

它对标题字符串进行HTML编码

这些行为对于导出而言并不理想,因为它会更改文章标题,从而导致导出文件中的数据丢失,并且在导入时不正确的文章重复匹配。此更改新增新的过滤器 the_title_export,而不在该用途上使用 the_title_rss。新的过滤器的用途和 the_content_export 、 the_excerpt_export 一样。

用法示例:为导出的文章标题添加前缀:

function wporg_edit_exported_title( $post_title ) {

$post_title = sprintf(

/* Translators: the post title. */

__( '[IMPORTED] %s', 'text-domain' ),

$post_title

);

return $post_title;

}

add_filter( 'the_title_export', 'wporg_edit_exported_title', 10 );

在导出文件中添加每个文章的最后修改日期

WP 5.7 添加 post_modified 和 post_modified_gmt 字段到所产生的WXR导出文件。

在确定文章的哪个版本是最新版本时,这可以提供更大的灵活性,并可以实现涉及更新和向现有文章或页面添加修订的导入逻辑。

这是RSS feed的新结构的示例(13-14行为新增字段):

<item>

<title><?php echo $title; ?></title>

<link><?php the_permalink_rss(); ?></link>

<pubDate><?php echo mysql2date( 'D, d M Y H:i:s +0000', get_post_time( 'Y-m-d H:i:s', true ), false ); ?></pubDate>

<dc:creator><?php echo wxr_cdata( get_the_author_meta( 'login' ) ); ?></dc:creator>

<guid isPermaLink="false"><?php the_guid(); ?></guid>

<description></description>

<content:encoded><?php echo $content; ?></content:encoded>

<excerpt:encoded><?php echo $excerpt; ?></excerpt:encoded>

<wp:post_id><?php echo (int) $post->ID; ?></wp:post_id>

<wp:post_date><?php echo wxr_cdata( $post->post_date ); ?></wp:post_date>

<wp:post_date_gmt><?php echo wxr_cdata( $post->post_date_gmt ); ?></wp:post_date_gmt>

<wp:post_modified><?php echo wxr_cdata( $post->post_modified ); ?></wp:post_modified>

<wp:post_modified_gmt><?php echo wxr_cdata( $post->post_modified_gmt ); ?></wp:post_modified_gmt>

<wp:comment_status><?php echo wxr_cdata( $post->comment_status ); ?></wp:comment_status>

<wp:ping_status><?php echo wxr_cdata( $post->ping_status ); ?></wp:ping_status>

<wp:post_name><?php echo wxr_cdata( $post->post_name ); ?></wp:post_name>

<wp:status><?php echo wxr_cdata( $post->post_status ); ?></wp:status>

<wp:post_parent><?php echo (int) $post->post_parent; ?></wp:post_parent>

<wp:menu_order><?php echo (int) $post->menu_order; ?></wp:menu_order>

<wp:post_type><?php echo wxr_cdata( $post->post_type ); ?></wp:post_type>

<wp:post_password><?php echo wxr_cdata( $post->post_password ); ?></wp:post_password>

<wp:is_sticky><?php echo (int) $is_sticky; ?></wp:is_sticky>

菜单项导入的性能更好

现在,wp_update_nav_menu_item()函数可在更新菜单项时使用 wp_resolve_post_date()。这允许将菜单项的 post_date设置为特定值,而不仅仅是“now”。这使WordPress导入器可以执行更快,更准确的检查重复。

喜欢这个文章就点个赞分享给好友吧~

END
相关标签

发表评论

一次支付终身使用
免费版本更新
靠谱的技术支持
成为会员