2011-02-03 4 views
0

Wordpress除外ページプラグインが私のテーマで動作するようにします。ここでは、私のテーマがすべてのページを照会し、すべてのページを1つのページに並べて表示します。Wordpress除外ページプラグインハック

$pagepull = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'page' AND post_status = 'publish' ORDER BY menu_order", ARRAY_A); 

foreach ($pagepull as $single_page){ 
    echo $single_page['post_content']; 
    // do other stuff too 
} 

除外ページを使用するようにクエリを調整する方法はありますか?すべてのページを取得する機能はありませんか?私はページのリストを取得するwp_list_pages()があることを知っているが、私はここにnavを表示しようとしていない。

は、2つのクエリ、あなたはページのリストを取得1、その後、そのリストの2のクエリを行うには良いアイデアでしょうか?それを行う方法は完全にはわかりませんが、追加のクエリは悪い考えのように聞こえます。思考?

UPDATE:私は以下の回答から が仕事にこれを発見した:

 $excluded = ep_get_excluded_ids(); 
     foreach ($excluded as $removepage){ 
      echo ""; 
      $limits .= " AND id != $removepage"; 
     } 
     $pagepull = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'page' AND post_status = 'publish' $limits ORDER BY menu_order", ARRAY_A); 

、安全性のために、どのように私は、プラグインの機能が存在するかどうかをテストしていますか?私はep_get_excluded_ids()に依存しています。インストールするExclude Pluginから削除します。

アップデート2: - 削除 - 、あなたはすべてが、指定したページを返すようにしようとしている場合

+0

get_pagesの使用はどうですか? http://codex.wordpress.org/Function_Reference/get_pages – Arvin

答えて

0

(私は、このことを気にしないで、この問題では、単純なスペルミスがあった)(そして、あなたはwp_list_pages()の書式設定をしたくありません)あなたが行うことができます:

$excArr = array(5,7,10); 

foreach($excArr as $p) 
    $limits .= " AND id != $p"; 

$pagepull = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'page' AND post_status = 'publish' $limits ORDER BY menu_order", ARRAY_A); 

別のオプションは、彼らはリストのように見えないようにwp_list_pages()とスタイル<li><ul>要素を使用することです。

+0

wp_list_pages()から['post_content']を取得できますか? – Dave

+0

@Dave、No.マンページは次のとおりです。http://codex.wordpress.org/Function_Reference/wp_list_pages – JakeParis

+0

Sweet、あなたの解決策が動作します。質問1: "foreach()"に{}が必要ですか?そして質問2、関数 "ep_get_excluded_ids()"(言い換えれば:プラグイン)が存在することを確認するために、単純なif文をどのように含めるべきですか? – Dave

関連する問題