Upgrade to Pro — share decks privately, control downloads, hide ads and more …

a-blog cms zoom up 2021/03 WordPressサイトから a-blog cmsへの移行案件で工夫したこと / Point of migrate WordPress to a-blog cms

a-blog cms zoom up 2021/03 WordPressサイトから a-blog cmsへの移行案件で工夫したこと / Point of migrate WordPress to a-blog cms

a-blog cms zoom up 2021/03 での発表資料です。

Tsutsui Shinobu

March 10, 2021
Tweet

More Decks by Tsutsui Shinobu

Other Decks in Business

Transcript

  1. a-blog cms zoom up 2021/03
    WordPressサイトから
    a-blog cmsへの移⾏案件で⼯夫したこと
    2021年3⽉9⽇
    筒井 志信

    View full-size slide

  2. PHPに偏った内容も出てきますので、
    肩の⼒を抜いてご視聴いただければ幸いです。
    実⽤的要素 芸⼈的要素
    13
    本⽇お話する内容

    View full-size slide

  3. 「先頭に固定表⽰」
    を実装

    View full-size slide

  4. WordPressは任意の記事を先頭に表⽰できる

    View full-size slide

  5. 記事に固定表⽰⽤のカスタムフィールドを作成

    View full-size slide

  6. 記事に固定表⽰⽤のカスタムフィールドを作成

    View full-size slide

  7. Entry_Summaryの表⽰設定の「ソートフィールド名」を設定
    表⽰順を「フィールド(降順)」
    ソートフィールド名を「entry_pickup」で設定

    View full-size slide

  8. 「先頭に固定表⽰」を実装
    応⽤編

    View full-size slide

  9. 記事に優先表⽰⽤のカスタムフィールドを作成

    View full-size slide

  10. 記事に固定表⽰⽤のカスタムフィールドを作成

    View full-size slide

  11. Entry_Summaryの表⽰設定の「ソートフィールド名」を設定
    表⽰順を「数値フィールド(降順)」
    ソートフィールド名を「entry_priority」で設定

    View full-size slide

  12. アイキャッチ画像を
    インポートして表⽰

    View full-size slide

  13. WordPressのエクスポート機能でエクスポート

    View full-size slide

  14. a-blog cmsのインポート機能でインポート

    View full-size slide

  15. a-blog cmsのインポート機能では
    アイキャッチ画像がインポートされない

    View full-size slide

  16. アイキャッチ画像を表⽰
    CSVインポート
    \正攻法なら/

    View full-size slide

  17. WP All ExportなどでCSV形式でエクスポートする

    View full-size slide

  18. WP All ExportなどでCSV形式でエクスポートする
    ただし、a-blog cms側のentry_idとの突き合わせや、
    複数の画像が記載されているので調整が必要

    View full-size slide

  19. アイキャッチ画像を表⽰
    サムネイルIDを使⽤

    View full-size slide

  20. インポート時にmeta_keyからアンダースコアを削除する
    post_metaの部分がカスタムフィールドとして登録される
    ただし、先頭にアンダースコアが
    ついているものは無視される

    View full-size slide

  21. インポート時にmeta_keyからアンダースコアを削除する
    アイキャッチ画像のカスタムフィールドのキーから
    アンダースコアを外すことで
    カスタムフィールドとして登録する

    View full-size slide

  22. 通常のa-blog cmsの記事はサムネイルを表⽰する

    View full-size slide

  23. アイキャッチ画像のIDがあればIDを表⽰する

    View full-size slide

  24. アイキャッチ画像のURLはデータベースに格納されている

    View full-size slide

  25. アイキャッチ画像のIDに対し、校正オプションを適⽤する

    View full-size slide

  26. アイキャッチ画像のIDから画像のパスを取得する

    View full-size slide

  27. a-blog cmsの記事のサムネイル表⽰
    WordPressの記事のサムネイル表⽰

    View full-size slide

  28. アイキャッチ画像を表⽰
    本⽂中のURLを使⽤

    View full-size slide

  29. 本⽂に画像を登録していたら表⽰する

    View full-size slide

  30. 本⽂中にsrc=“wp/wp-content/uploads/” があれば取得

    View full-size slide

  31. 本⽂を整形して表⽰

    View full-size slide

  32. 本⽂の微調整を校正オプションで対応

    View full-size slide

  33. 本⽂の微調整を校正オプションで対応(Movable Typeの場合)

    View full-size slide

  34. インポートに
    失敗したときは

    View full-size slide

  35. 管理画⾯がCSV-IMPORTで埋め尽くされる🥺

    View full-size slide

  36. SQLコマンドで削除する
    (エントリーIDが14以降を削除する場合)

    DELETE FROM `acms_entry` WHERE `entry_id` >= 14;
    DELETE FROM `acms_field` WHERE `field_eid` >= 14;
    DELETE FROM `acms_column` WHERE `column_eid` >= 14;
    DELETE FROM `acms_fulltext` WHERE `fulltext_eid` >= 14;
    UPDATE `acms_sequence` SET `sequence_entry_id` = 13;
    ⚠⾃⼰責任

    View full-size slide

  37. WordPressで
    a-blog cmsの
    ように開発する
    おまけ

    View full-size slide

  38. a-blog cmsのテンプレート継承機能は
    Laravelのbladeテンプレートに近い

    View full-size slide

  39. a-blog cmsのテンプレート継承機能は
    LaravelのBladeテンプレートに近い

    View full-size slide

  40. Bladeテンプレートをスタンドアローンで使⽤できる
    https://github.com/EFTEC/BladeOne

    View full-size slide

  41. ・@extends、@sectionの継承機能を使うことができる
    ・マスタッシュ構⽂でを書かなくても良い
    ・フィルタ(校正オプション)も使うことができる
    ・⾃動的にエスケープされるので⽐較的安全
    WordPressへの抵抗感がなくなるためおすすめ☺

    View full-size slide

  42. 編集中であることを
    表す表⽰は欲しい!
    https://usortblog.com/shounin-flow/ より

    View full-size slide

  43. おしまい

    View full-size slide