MTの投稿画面で特定のカテゴリを非表示にする [MTAppjQuery]
MTで、MTAppjQueryを使い投稿画面から特定のカテゴリを隠す
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var hideCategories = '<MTSubCategories category="隠したいカテゴリ"><$MTCategoryLabel$><MTUnless tag="MTSubCatIsLast">,</MTUnless ></MTSubCategories>'; hideCategories = hideCategories.split(','); hideCategories.push('隠したいカテゴリ'); // MTSubCategories で指定した親カテゴリ自身も追加 // カテゴリの非表示 setTimeout(function(){ var style = '<style type="text/css">'; hideCategories.some(function(v, i){ $('#category-selector-list > div').each(function() { if ( $(this).find('div div').text().match(v) ) $(this).hide(); }); $('#category-list ul li').each(function(i) { if ( $(this).children('a').text().match(v) ) style += '#category-list ul li:nth-child(' + (i+1) + ') { display : none; }'; }); }); style += 'aaaa</style>'; $('head').append(style); },500); |
- setTimeout は VirtualBox の Windows IE で上手く動かなかった為
- #category-list ul li が CSS なのは .hide() だと カテゴリ選択欄を開いた時に表示されてしまう為
もっと良いやり方がありそう…