2016-04-22 33 views
0

我有一个特殊的问题。我正在使用一种主题,它使用分类法将用户帖子分配给用户的董事会。因此,每个用户都可以创建自己的电路板并将其帖子分配到一个电路板。我使用的是wordpress frontent上传器,并且可以添加分类板,并在下拉框中添加表单。这工作正常。如何用javascript隐藏表单的选项

我只有一个问题。用户可以在下拉列表中选择每个人的棋盘。

分类结构如下:

Parent: User ID 
Child: boardname 

所以我的输出是这样的:

<div class="wpuf-fields wpuf_board_select_123_321"> 

<select data-required="yes" data-type="select" name='board[]' id='board[]' class='board wpuf_board_123' > 
    <option value='-1'>&#8212; Select &#8212;</option> 
    <option class="level-0" value="3">1</option>   // value is term ID // Content is User ID // parent 
    <option class="level-1" value="17">User Board </option> // value is term ID // Content is Boardname 
    <option class="level-1" value="26">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-1" value="106">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-1" value="62">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-1" value="148">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-0" value="191">10</option>   // value is term ID // Content is User ID // User has no boards 
    <option class="level-0" value="193">11</option>   // value is term ID // Content is User ID // User has no boards 
    <option class="level-0" value="10">2</option>   // value is term ID // Content is User ID // parent 
    <option class="level-1" value="123">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-1" value="124">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-1" value="192">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-1" value="121">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-1" value="155">User Board</option> // value is term ID // Content is Boardname 
    <option class="level-0" value="226">20</option>   // value is term ID // Content is User ID // User has no boards 
</select> 

</div> 

所以这是我迄今所做的:

$board_parent_id = get_user_meta($user_id, "_Board Parent ID", true); 
$board_children_count = wp_count_terms("board", array("parent" => $board_parent_id)); 

我的想法是用javascript添加“隐藏”来隐藏不需要的选项。 所以我已经有了家长ID和孩子们的数量和Im现在挣扎,如何走得更远。

我希望这里有人能帮我找到解决方案。

提前致谢!

回答

0

我不清楚用户是否使用wp-admin。但是,我假设你的问题发生在wp-admin。

要隐藏使用JavaScript,你可以做这样的事情:

// Add to footer on admin a function to exec the scripts 
add_action('admin_footer', 'my_custom_scripts'); 

// The function 
function my_custom_scripts() { 
    // An array of IDs that must be removed 
    $itemsIdsToHide = array("121", "226", "123"); 

    // Create a string to convert the PHP array to JS array 
    $strJavascriptArray = "Array('" . implode("','", $itemsIdsToHide) . "')"; 
    ?> 
    <script> 
     // Echoes the javascript array created in PHP 
     var arr = <?php echo $strJavascriptArray; ?>; 

     // Loop into each item of select. 
     // BE SURE TO QUERY ONLY THE SELECT YOU NEED 
     jQuery('select>option').each(function() { 

      // IF the option ID is in the array to remove, remove the item 
      if(arr.indexOf($(this).attr("value")) > -1) { 
       $(this).remove(); 
      } 
     }); 
    </script> 
    <? 
} 

希望它能帮助:)

相关问题