支持 Gatsby + WordPress 用于日本语的投稿

Background.

嘎茨比真是太棒了。
可以轻松地创建静态网站,并且如果能熟练使用React.js,还能自定义性十分出色。

欠点としてはworedpressのように記事を管理する機能(CMS)がないことです。

それを補う方法としてgatsbyにはプラグインとしてgatsby-source-wordpressが用意されており、このプラグインはwordpress APIを使って既存のwordpressのサイトからAPI経由で記事を持ってくることができます。

グループ 1.png

与gatsby-theme-wordpress-mdx一起使用时,您可以在瞬间内创建静态网站(有关详细步骤,我会在另一篇文章中分享)。

问题

スクリーンショット 2021-02-21 0.02.35.png

看起来好像无法支持URL编码。

解决方案

我在客户端尝试了各种解决方案,但似乎无法解决,因此我将在WordPress这边进行处理。

只要网址中不含有日语即可。

如果正常使用WordPress,现在存在的是称为“slug”的部分会自动附加在WordPress文章的URL末尾,并且是用日语。

请用中文将以下内容进行本地化改写,只需一种选项:
http://[domain]/2021/02/20/[slug部分请填写在这里]/

因此,你可以修改WordPress中的function.php文件,将slug部分从日语改为post-[id]。

function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
    if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
        $slug = utf8_uri_encode( $post_type ) . '-' . $post_ID;
    }
    return $slug;
}
add_filter('wp_unique_post_slug', 'auto_post_slug', 10, 4  );

之後,從URL中移除日文,這樣客戶端應該就能正常地查看發布的文章。

bannerAds