技術・Web 3年前

WordPressのカテゴリー・タグなどのデータをFirestoreに同期する

WordPressのカテゴリー・タグなどのデータをFirestoreに同期する  WordPressブログをNuxt+Firebaseに移行するシリーズ。  前回、記事を全て同期させたので、次は表示……と思っていろいろ作っていたのですが、  作業の中でカテゴリー・タグ・コメントのコレクションが必要となり、  その手順を行った後にFirebaseの表示する方が流れとしてわかりやすいと思ったので、記事の順番を入れ替えることにしました。  なので現在、第3回「記事表示・ルーティング編」と第4回「サイドバー編」がほとんど書きあがっています。

記事の同期

 基本的には前回書いた通りですが、いろいろと必要なパラメータが増えたので完成版を丸ごと載せます。 function save_post_to_firestore($post) { function get_first_image($post) { if (has_post_thumbnail()) { return get_the_post_thumbnail_url($post->ID, 'card-thumb'); } else if (preg_match('/<img.*?src=(["\'])(.+?)\1.*?>/i', $post->post_content, $imgurl)) { return $imgurl[2]; } else { return '/shared/images/noimage.png'; } }; $url = "https://**********.cloudfunctions.net/addPost"; $categories = get_the_category($post->ID); $tags = get_the_tags($post->ID); $previous_post = get_previous_post(); $next_post = get_next_post(); $data = [ // base 'id' => $post->ID, 'author' => $post->post_author, 'slug' => $post->post_name, 'title' => $post->post_title, 'content' => array( 'text' => strip_tags($post->post_content), 'rendered' => $post->post_content, ), 'date' => $post->post_date, 'modified' => $post->post_modified, // taxonomy 'categories' => $categories, 'category_slugs' => array_map('convert_tax_to_slug', $categories), 'tags' => $tags, 'tag_slugs' => array_map('convert_tax_to_slug', $tags), // meta 'post_type' => $post->post_type, 'post_status' => $post->post_status, 'ping_status' => ...

comment  0
favorite  2