web-dev-qa-db-ja.com

WordPressでDrupal Viewsの機能を複製する方法は?

私は認めます、私はまだDrupalで考えます。 (WordPressとDrupalのどちらで開発するかを選ぶ際に、私はまだDrupalを好む傾向があります。なぜなら、私はまだWordPress側でいくつかのことを考え出していないからです。)

WordPressで少なくとも私が知っていて気に入っているViews機能のいくつかを達成する方法を見つけ出すのを手伝ってもらえますか?

カスタム投稿タイプで動作するプラグインは、WordPressのCCKと同等のものです。 1.列と行にカスタムフィールドを表示します。2.エンドユーザーが選択できるように、フィルタを公開します。つまり、上部にドロップダウンを作成します。

これは単一の露出したフィールドのサンプル画像です。 http://www.packtpub.com/sites/default/files/Article-Images/drupalviews-article1-timage18.png (私の本から)

バリエーションには、複数のトピックやカスタムフィールドによるフィルタリング、複数のオプションの選択、カテゴリやタグだけではないフィールドの選択などが含まれます。

私がDrupalがとても好きなら、私はそれを使うべきだという主張があります。しかし、カスタムフィールドを表示する方法や、エンドユーザーが公開されたフィルタを使って選択できるようにする方法を理解できれば、私もWordPressユーザーになれると思います。どんなガイダンスでも歓迎します。


更新:

私はこれまでのところ2つの答えを通して慎重に取り組んでいます。これまでのところ、私はカスタムフィールドを作成し、一度に1つの投稿でそれらを表示することができました。

これが私のsingle.phpに追加したものです。 (やや面倒で、改善のためのアイデアを歓迎します。)しかし、やらなければならないことはsingle.phpコンテキストから外すことで、すべての投稿フィールドを表示することができます。現在のIDだけではありません。(また、私の現在のCSSでは、空白のフィールドがあると、.meta_table_headerの下に.meta_itemsが表示されます。要素が空の場合は幅の設定がうまくいかないようです。スペースなしで)

私はまた、カスタムフィールドテンプレートプラグインをインストールしました: http://wordpress.org/extend/plugins/custom-field-template/ 、そして複数のチェックボックス選択の結果をコンマで区切る方法を考え出しました。 (私はまだCustom field Templateを使ったことはありませんが、気に入っていると思います。)

 <div id="meta_table">
  <?php 
  $div_meta_row =  '<div class=\'row\'>';
  $div_meta_item ='<div class=\'meta_item\'> ';
  $div_meta_table_header='<div class =\'meta_table_header\'>';
  $div_end='</div>';

   echo $div_meta_row;
   echo $div_meta_table_header, "Breakfast", $div_end, $div_meta_table_header, "Currently Reading", $div_end, $div_meta_table_header, "Hours of Sleep", $div_end, $div_meta_table_header,'Favorite Fruits', $div_end;
   echo $div_end;

   echo $div_meta_row;
      $meta_values = get_post_meta($post->ID, 'Breakfast', $single);
      echo  $div_meta_item, $meta_values, $div_end;
      $meta_values = get_post_meta($post->ID, 'Currently Reading', $single); 
      echo $div_meta_item, $meta_values, $div_end;
      $meta_values = get_post_meta($post->ID, 'Hours of Sleep', $single);
      echo $div_meta_item, $meta_values, $div_end;
      $meta_values=implode(get_post_meta($post->ID, 'Favorite Fruits', 0), ', ');
      echo $div_meta_item, $meta_values, $div_end;
    echo $div_end;
 ?>  
 </div>

これは私がheader.phpに置いた付随のスタイルシートです。

<style type="text/css">
#meta_table .row {
float:left;
margin:10px 0;
}
#meta_table .row .meta_item, .meta_table_header {
width:120px;
margin-right:10px;
float:left;
}
.meta_table_header {
font-weight:bold;
}
</style>

すべての投稿のフィールドが別のURLに表示されるようになったら、「query_postsのカスタムフィールドパラメータ」に取り組みます。それで、私が最初に質問をしたとき私がした以上に私は知っています。まだ行く方法。

(Drupal Viewsは強力なUIを提供しており、これまでのところほとんどこれがコーディングですが、これがWordPressで本当に理解されるまで待ってから、どれが簡単になるかを説明します。 WordPressの複数のカスタムフィールドでフィルタリングするユーザー。

これがこれまでのところどのように見えるかです。

Progress so far...

もっと似たものを目指して:

Goal

4
  1. カスタムフィールドを列と行で表示します。 get_post_meta はテーマに表示し、 add_meta_box は管理者をカスタマイズします。

  2. エンドユーザーが選択できるように、フィルタを公開する、つまり上部にドロップダウンを作成します。query_postsの カスタムフィールドパラメータを使用することをお勧めします 。例えば。:

上部のフォームのドロップダウンフィールド:

<select name="custom_field" id="custom_field">
    <option value="value1">Value 1</option>
    <option value="value2">Value 2</option>
</select>

対応するカスタムクエリ:

$value = $_POST['custom_field'];
query_posts("meta_key=custom_field&meta_value=$value");

The Loop および get_posts を参照してください。

お役に立てれば。

2
sorich87

恥知らずな自己宣伝:

私のプラグインはカスタムクエリを非常に厳密に構築するためにViews 2 UIをエミュレートしようとしています。
http://wordpress.org/extend/plugins/query-wrangler/ /

このプラグインを使用すると、ページまたはウィジェットとして新しいWPクエリを作成できます。それは基本的にWordPressのためのDrupal Viewsです。

1
daggerhart

笑、私はあなたがまだwordpressコーデックス機能にもっと投資する必要があると思います:get_post_metaこれをwordpressコーデックスサイトでチェックすればあなたが望むすべてを見ることができます。カスタムフィールドのようにCCKを構築するには、More Fieldsプラグインを使用して独自のカスタムフィールドを作成し、そこに入力してからカスタム投稿タイプに割り当て、それにロールを設定します。正直なところ、私はあなたに言うことができるwordpressの仕事の多くの後、あなたはwordpressで何かをすることができます、制限はありません。 wp3.1複数の分類法の照会、カスタム投稿タイプのアーカイブテンプレートなどをリリースすることで、より洗練されたバージョンがすぐに表示されます。

1
AliMH

このスレッドを少し活気づけることを願っています - それは素晴らしいアイディアのようです。私は1年以上Drupalのユーザーでしたが、Viewsは日々貴重なものです。あなたは私が見つけたWordPressプラグインをチェックアウトしたいかもしれません - WordPressのためのビュー - しかしこれはフロントエンドのフィルタリング/ソートを許可しません(管理者だけ) - だから間違いなく何かの上に構築するもの。これらのフィルタ/選別オプションをユーザに選択的に公開できることは非常に有益であろう。ありがとうございます。

0
Zach

いくつかのViews機能を提供するthisWPモジュールもあります: http://wordpress.org/extend/plugins/query-wrangler/

0
user32695