12月 29, 2021

WordPressの投稿とページをアーカイブする方法

公開されたWordPressコンテンツをパブリックビューから削除したいが、ゴミ箱にしたくない場合はどうしますか?

シンプルだ まあ、いや。 間違いなく組み込みであるべきか、間違いなく実装が容易でなければならない機能は、実際には不必要に困難です。 また、WordPressが古い投稿のアーカイブ用語を使用して水を混乱させるのにも役立ちません。

この記事では、Edit Flowプラグインを使用してコンテンツをアーカイブして重いリフティングを行う方法を紹介します。

アーカイブの写真
アーカイブは重要ですが、WordPressの一部が欠けています

注:この記事で説明するアプローチは、投稿、ページ、カスタム投稿タイプに適用されます。 私は単に便宜のために”ポスト”という用語を使用しました。

アーカイブを提供するには、”アーカイブ”の新しい投稿ステータスを追加することにより、”公開”の後のオプションである、公開プロセスの最後に別のステッ 投稿のアーカイブは、投稿のステータスを新しいステータスに変更し、アーカイブされた投稿が検索結果やメニューなど、サイト上のどこにも表示されないよう

WordPressには8つの投稿ステータスが組み込まれており、リストへの追加は非常に簡単です。 ただし、投稿編集画面の公開メタボックスの投稿ステータスドロップダウンに新しいステータスを追加するなどの簡単なタスクは、イライラするほど WordPress自体の中で利用可能な有用なフィルタやアクションがないと、最も一般的なソリューションは、ブラウザ内のユーザーインターフェイスに新しいステー 正確には開発のベストプラクティスではありません。

幸いなことに、Edit Flowプラグインは、クライアント側のHTMLの論争を避けながら、公開ワークフローを拡張するのに役立ちます。

Edit Flowプラグインのインストール

Edit Flowには、チーム環境で投稿を管理するための優れた機能がたくさんあります。 ここではそれらには触れませんが、WpmuでPaul KaiserのEdit Flowのレビューを読むことをお勧めします。org。

未使用のモジュールをオフにする

今のところ、Edit FlowのCustom Statusesモジュールを有効にする必要があるので、インストールしたら、メインメニューのEdit Flowをクリックし、Custom Statusesを除くすべてのモジュールを無効にします。

フローモジュールの編集管理画面の画面グラブ
アーカイブにはカスタムステータスのみが必要ですが、他のモジュールもチェックアウトしてください

ステータスの設定

更新されたステータスを示す画面グラブ
更新されたステータスドロップダウン

カスタムステータスをクリックし、,

  1. “下書き”の上にマウスを置いて、”デフォルトにする”メニューオプションをクリックすることで、下書きステータスをデフォルトの状態にします。
  2. 下書きを除くすべてのステータスを削除します(再び、ステータスの上にマウスをロールバックし、削除メニューオプションをクリックします)。
  3. “Add New”フォームを使用して、”Archived”という新しいカスタムステータスを追加します。 “オプション”タブをクリックして、アーカイブできるようにしたい投稿の種類を選択します–カスタム投稿の種類も利用できます。

これで、投稿編集画面の公開メタボックスに、ステータスドロップダウンに新しいアーカイブステータスを含むカスタムステータスが表示されます。

投稿をアーカイブするには、単に”アーカイブ”を選択し、”更新”をクリックします。 これにより、検索を含むフロントエンドから投稿が削除されます。 また、投稿数を含む”アーカイブ”リンクが投稿リストページの上部にあるステータスリンクに追加され、アーカイブされた投稿にすばやく簡単にアクセスできます

投稿リスト画面の投稿ステータスリンクにアーカイブされたことを示す画面グラブ
投稿リスト画面に追加された新しいアーカイブリンク

しかし、メニューはどうですか?

あなたがメニューにページを入れた場合、それはそのステータスがアーカイブされているか、実際には、ドラフトであっても表示されます。

ページをアーカイブするたびにメニューをチェックする必要がないようにするには、関数のいずれかでこのコードを使用します。phpファイルまたは単純なプラグインで:

function remove_archived_from_menu($post) {_wp_delete_post_menu_item($post->ID);}add_action( 'publish_to_archived', 'remove_archived_from_menu');

これは、postがステータスを変更するたびに起動されるステータス変更アクションにフックします。 この場合、”publish”から”archive”への変更に関心があります(ドラフト項目はメニューにはありません)。 その変更が発生した場合は、投稿のIDを持つメニュー項目を削除します。

コンテンツのアーカイブは、コンテンツ管理システムのかなり基本的な機能であり、WordPressにこの機能が組み込まれていないことは少し驚くべきことで あなた自身の解決策を転がすことは面倒であり、最も簡単な解決策は、ほとんどの開発者にはうまくいかないハックです。

編集フローを使用してアーカイブを提供することは、単純なアーカイブ機能を提供するだけでなく、強力なコンテンツ管理プラグインの紹介を提供する

コメントを残す

メールアドレスが公開されることはありません。