web-dev-qa-db-ja.com

高度に設定可能なCPTアーカイブを生成するために、投稿タイプのアーカイブ、ページテンプレート、またはショートコードを使用する方が良いでしょうか。

グリッドタイプのアーカイブを持つ投稿タイプを持つテーマを作成しています。あなたはおそらく "CPTアーカイブを使うだけで!"さて、私が避けたいと思うその方法にはいくつかの短所があります。

このアーカイブページは、エンドユーザーにとってできるだけ使いやすく、理想的には高度に設定可能である必要があります。私はCPTアーカイブを提供するためにこれらの3つの異なる方法を検討しています、そして私はどの方法がテーマを設定している人のために最も使いやすいだろうかと思います。

以下の基準があります。

  • ユーザーは、テンプレートファイルを編集したり手動でHTMLを書いたりせずに、投稿タイプのアーカイブの上に独自のWYSIWYGコンテンツ(テキスト、画像など)を追加できる必要があります。
  • アーカイブの下にコンテンツを追加することは良いことです。
  • ユーザーは、投稿タイプのアーカイブページを自分のナビゲーションメニューに簡単に追加し、アーカイブを表示するときに選択されたメニュー項目として表示させる必要があります。
  • ユーザーは、いくつかのアーカイブグリッド表示設定を簡単に変更できる必要があります。

私の要件を考えると、どちらの方法が一番良いのかと思いますが、考慮すべきこれらの方法の賛否両論を見逃していないかどうかも。覚えておいて、私はこれをユーザーにとってできるだけ簡単にしようとしている。

1)組み込みCPTアーカイブ

長所:

  • それを行うための最も「WordPress-y」の方法
  • 投稿タイプ登録でhas_archiveパラメータがtrueの場合、ページはWordPressによって自動的に作成されます
  • サイトの他の場所で使用するために、CPTアーカイブのURLを簡単に取得できます。

短所:

  • 手動でテンプレートファイルを編集せずにアーカイブの上または下にテキストを追加する唯一の方法は、カスタマイザまたはテーマオプションパネルにテキスト領域を追加することです。これは、WordPress WYSIWYGの完全なエディタエクスペリエンスではない可能性が高いため、否定的です。たとえば、画像を挿入するときにメディアライブラリを参照することはできませんでした。
  • ナビゲーションメニューには表示されず、カスタムリンクとして追加する必要があります。私のユーザーは自分でそれを理解することができないでしょう。
  • CPTアーカイブページがフロントエンドで表示されているときにメニューの「現在のメニュー項目」のCSSクラスをトリガーしません。
  • ユーザーはページのタイトルを変更することはできません(変更する機能がテーマオプションで提供されていない限り)。
  • ユーザーはそのページにおすすめの画像を設定できません。
  • ユーザーはアーカイブページのURLを変更できません。

2)ページテンプレート

長所:

  • ユーザーはページコンテンツWYSIWYGエディタを使用して自分のページコンテンツを作成できます。
  • アーカイブ設定はメタボックスで変更できます
  • メニューに簡単に追加

短所:

  • これを行うための最も「WordPress-y」の方法ではありません
  • ユーザーがページテンプレートを選択するための追加の手順が必要
  • アーカイブの下にWYSIWYGコンテンツを編集する場所はありません
  • サイトの他の場所にあるアーカイブページのURLを自動的に取得することはできません。

3)アーカイブショートコード

長所:

  • アーカイブグリッドの上下両方にWYSIWYGコンテンツを追加できます
  • ショートコードパラメータでアーカイブ設定を指定できます

短所:

  • これを行うための最も「WordPress-y」の方法
  • ショートコードとショートコードパラメータを使用することは、メタボックスのポイントアンドクリック設定ほど簡単には使用できません。
  • サイトの他の場所にあるアーカイブページのURLを自動的に取得することはできません。

私が見落としていたアドバイス、または長所/短所は大歓迎です。

3
Peter Andrews

回答の一環として、@ MarkKaplunにコメントを投稿しています。

私の言いたいことは、すべてのエンドユーザーは自分の知識、経験、使いやすさ、そして個人的な好みに基づいて特定の方法で特定のことを経験するということです。ここには間違った答えや正しい答えはあり得ません。選択肢1はあなたに最も適しているかもしれません、選択肢2は私に適しているかもしれません。私はOPがすべての長所と短所を設定した方法が好きで、彼の主張は有効です。私たちは皆ここで本当の質問を見逃していると思います。ここではどのタイプの市場をターゲットにしていますか。これはWordpressの知識や初心者が多い人に配布されますか。

私のコメントを完全な答えに拡張するために、私は以下を加えたいと思います:

  • どのようなオプションを実装しようとしていても、あなたはあなたのテーマと一緒によく文書化されたステップバイステップの説明書を含めるべきです。

  • 常に初心者のように、パブリックディストリビューション用のテーマやプラグインを開発するときに、Wordpressやphpの経験がほとんどない人はいません。

  • ターゲット市場を選択し、その特定の市場に従ってあなたのテーマを開発してください。覚えておいて、あなたは皆を喜ばせることはできません。

  • URLの点では、あなたは本当にあなたのテーマのどこか他の場所であなたのアーカイブページのURLを使っているのでしょうか。

  • 新しいカスタム投稿タイプが作成されたときにアーカイブページを自動的に含めるカスタムウォーカーを作成します。手動でリンクを追加する必要はありません

  • バックエンドからの追加情報を含めるためにカスタムウィジェット領域とカスタムメタボックスを利用してください。私は個人的にこれがそれをする最も動的な方法だと思います

  • 最良の選択肢ではありませんが、アーカイブページに追加の投稿領域を追加するためにカスタム投稿タイプを使用してください。このように、あなたはWYSIWYGエディタを利用することができます。その後、そのコンテンツをカスタムクエリまたはカスタムウィジェットを介して追加できます。

まだカバーしていない点がまだたくさんありますが、おそらくこれが最も重要です。

編集1

ページテンプレートに関する追加情報のためだけに。投稿タイプごとにページテンプレートを作成する代わりに、動的ページを使用できます。 この記事を参照してください 私が最近した。少しオーバーボードかもしれませんが、このテンプレートは役に立ちます。

2
Pieter Goosen

あなたのリストに欠けている最も重要な要素は、ユーザーは誰ですか。技術的な長所と短所を話し合うことができますが、ほとんどのサイトでは、サイトの開発が完了したらユーザーは自分でサイトを管理することになり、各ユーザーには異なるWordpressの知識と異なるワークフローがあります。

あなたがコスチュームテーマを開発しているならば、答えは簡単です、彼が決めるためにクライアントにオプションを提示してください。

もしあなたが汎用のテーマを作成しているのであれば、他のどの方法よりも優れているという選択肢はどれもないので、おそらくあなたが保守しやすくそれにふさわしい文書を書くために何でもするべきです。

1
Mark Kaplun