2014-08-31 17 views
0

基本上我需要在WordPress管理面板(頁面編輯器)中創建一個部分,因此管理員可以在物理上選擇(或寫入)一個類別。然後創建頁面(自定義模板)只顯示選定(書面)類別的帖子。如何使WP_Query數組(category_name)從管理面板更新?

通常我會指定的代碼如下所示:

<?php $works = new WP_Query(array(
     'post_type' => 'my_post_type', 
     'category_name' => 'My Category Name' 
    )); ?> 

現在我需要才達到類似的東西:

<?php $works = new WP_Query(array(
     'post_type' => 'my_post_type', 
     'category_name' => 'THIS TEXT IS EDITABLE IN A CUSTOM FIELD FROM ADMIN PANEL' 
    )); ?> 

目前我已經試過這個代碼,但它不喜歡的工作我預計:

<?php $works = new WP_Query(array(
     'post_type' => 'my_post_type', 
     'category_name' => '<?php $categoryname = types_render_field("category-name", array("raw"=>"true","separator"=>";")); echo $categoryname; ?>' 
    )); ?> 

PS。我不是一個硬核php/wordpress開發者 - 仍在學習。

任何幫助和建議?也許我在這裏錯過了一些非常愚蠢和簡單的事情?

回答

0

第1步:創建元框。

您需要創建一個元框,以便您可以顯示和保存表單字段。你用WordPress功能add_meta_box()來做到這一點。裹在一個功能,它勾add_meta_boxes

編號:http://codex.wordpress.org/Function_Reference/add_meta_box

第2步:顯示錶單域

add_meta_box()第三PARAM允許您指定打印出一個回調函數你表單字段在元框中。

也許類似<input type="text" name="category_name" value="" />

步驟3:檢查是否值已經給出和使用,在您的WP_Query

此基礎上你的代碼,這將是這樣的:

$works = new WP_Query(array(
    'post_type' => 'my_post_type', 
    'category_name' => $_POST['category_name']) 
)); 

注意:使用WordPress隨機數驗證請求來自r屏幕和適當的授權。

Ref:http://codex.wordpress.org/WordPress_Nonces