2012-10-17 86 views
1

發佈時,我希望用戶只能選擇一個類別。我怎樣才能達到這樣的目標?在wordpress中,如何限制帖子僅限於類別?

對不起,我應該更清楚。當選中這些框來選擇帖子將要進入的類別時,我希望它能夠作爲單選按鈕,您只能選擇一個選項。

jQuery的將是一個速戰速決,發現下面的代碼jQuery的在線和我試圖找出其中將它添加到post.php中head標籤:

var $t = jQuery.noConflict(); 
$t(document).ready(function() { 
    $t('#categorychecklist li input[type="checkbox"]').each(function(){ 
    $t(this).change(function(){ 
     //alert($t('#categorychecklist li input[checked="checked"]').parent().html()); 
     $t('#categorychecklist li input').attr('checked',''); 
     $t(this).attr('checked','checked'); 
    }) 
    }) 
}); 
+0

你會需要更多的信息,如果你想一個答案。 –

+0

我的意思是我想限制用戶只有一個類別(紅色小部件或藍色小部件,而不是兩者)。我不知道從哪裏開始。也許我可以得到幾個指針... – Cris

+1

花了45秒找到這個:http://wordpress.org/extend/plugins/members-category/ –

回答

0

爲什麼不乾脆把它在functions.php這樣;在管理區註冊它?

//All the rest of your php stuff above ^^ 
add_action('admin_head', 'jquery_for_categories'); 

function jquery_for_categories(){ ?> 
    <script type="text/javascript"> 
     var $t = jQuery.noConflict(); 
     $t(document).ready(function() { 
     $t('#categorychecklist li input[type="checkbox"]').each(function(){ 
      $t(this).change(function(){ 
      //alert($t('#categorychecklist li input[checked="checked"]').parent().html()); 
      $t('#categorychecklist li input').attr('checked',''); 
      $t(this).attr('checked','checked'); 
      }) 
     }) 
     }); 
    </script> 
} <? 
1

我也在尋找一個很好的解決方案來解決這個問題。本主題顯示了一個插件(php)變體,將類別變爲單選按鈕:http://wordpress.org/support/topic/select-only-one-category-1但它沒有進行任何類型的驗證,因此可以通過webkit或firebug編輯html來操作它(type =「radio」=>鍵入=「複選框」),你可以結束很多類別的帖子了,而且js腳本也容易受到螢火蟲的操縱。

編輯:我發現了一個很好的解決辦法,輪流類別(以及任何其他分類法)爲一個下拉列表,它不能被欺騙: http://wordpress.org/extend/plugins/acategory-dropdown-list/

@dpassage我似乎沒有能夠發表評論

+0

這並不是真的回答這個問題,所以可能更好的評論。 – dpassage

0

因此,假設你想要一個,並選擇一個類別,我會考慮將inout類型從複選框更改爲單選按鈕。你可以做到這一點,而不會讓管理區域的<head />超出目前的狀態。這裏有幾個方法,你可以添加到您的功能文件做到這一點:

/** 
* Add scripts (JavaScript, etc.) to the admin area 
*/ 
public function addAdminScripts() 
{ 
    if(is_admin()) 
    { 
     wp_register_script('your-script-id', get_template_directory() . '/inc/javascript/jquery.script.name.js', array('jquery')); 
     wp_enqueue_script('your-script-id'); 
    } 
} 

/** 
* Add CSS files to the admin area 
*/ 
public function addAdminStyles() 
{ 
    if(is_admin()) 
    { 
     wp_enqueue_style('your-css-id'); 
     wp_enqueue_style('your-css-id', get_template_directory(). '/inc/css/your_custom_base.css'); 
    } 
} 

條件is_admin()將確保文件只包含在管理方面,並且可以擴展的條件檢查後/編輯屏幕具體。這可以確保您可以從主題目錄中包含js/css文件(或者如果將其包含在插件中,則可以將其保存到插件目錄中)。無論哪種方式,您在管理區域的侵入性都會降低。

現在,就你的實際腳本而言,Alex有一個好的開始,但你應該更進一步,實際上改變輸入類型爲單選按鈕,以便繼承它們的自然行爲而不是強制複選框行爲像一個單選按鈕。這裏有一個相關的帖子上,這樣是一個非常重要的參考來完成這一how to change an element type using jquery獎金:所選答案的作者裹成一個不錯的插件)

相關問題