お世話になってます0.6.0を使っていますが、カテゴリを45くらい作成しております。そこで要望なのですが 1.カテゴリ一覧表示ブロックのオプションにカラム(列)の指定ができると助かります。 2.投稿時にカテゴリーが縦に45個表示して、その下に記事の入力があるので、やはり長すぎで使いづらいです。こちらの方が悩んでいます。もし簡単な変更で対応できれば好いのですが、よい解決策がありますでしょうか。
引用:makotaさんは書きました:お世話になってます0.6.0を使っていますが、カテゴリを45くらい作成しております。そこで要望なのですが 1.カテゴリ一覧表示ブロックのオプションにカラム(列)の指定ができると助かります。 2.投稿時にカテゴリーが縦に45個表示して、その下に記事の入力があるので、やはり長すぎで使いづらいです。こちらの方が悩んでいます。もし簡単な変更で対応できれば好いのですが、よい解決策がありますでしょうか。WordPress0.6.0であれば、ブロックはファイルベースのSmartyTemplateになっています。カテゴリー一覧ブロックは、デフォルトは、/modules/wordpress/themes/default/templates/下のwp_categories0.htmlwp_categories0_c.htmlがレイアウトの実体となっています。カテゴリーは階層化に対応していますので、makotaさんがこの階層をどのように使用されているかで変わってきますが、現在の単純な<{foreach ..}>ループを決められた件数毎で区切るような修正を行えば、複数カラム対応は可能と思います。投稿画面のカテゴリー選択部分は、/modules/wordpress/wp-admin/admin-functions.php内の、24行目あたりのfunction categories_nested_select($sel_categories) にて描画しています。この部分を function categories_nested_select($sel_categories) { $categoryHandler =& wp_handler('Category'); $categoryObjects =& $categoryHandler->getNestedObjects(null,''); $prev_level = 1; $output = '<div style="float:left">'; $lines = 0; foreach ($categoryObjects as $categoryObject) { if (++$lines > 10) { $output .= '</div><div style="float:left">'; $lines = 0; } if ($prev_level < $categoryObject->getExtraVar('category_level')) { $output .= "<span class='cat-nest'>"; } elseif ($prev_level > $categoryObject->getExtraVar('category_level')) { $output .= "</span>"; } $prev_level = $categoryObject->getExtraVar('category_level'); $cat_ID = $categoryObject->getVar('cat_ID'); $id = "category-$cat_ID"; $cat_name = $categoryObject->getVar('cat_name'); $checked = (in_array($cat_ID, $sel_categories)) ? ' checked="checked"' : ""; $output .= "<label for='$id' class='selectit'>"; $output .= "<input value='$cat_ID' type='checkbox' name='post_category[]' id='$id' $checked/>$cat_name"; $output .= "</label>"; } $output .= '</div>'; return $output; } に変更頂ければ、カテゴリー10個ごとに別列になってくれると思います。
makotaさんは書きました:お世話になってます0.6.0を使っていますが、カテゴリを45くらい作成しております。そこで要望なのですが 1.カテゴリ一覧表示ブロックのオプションにカラム(列)の指定ができると助かります。 2.投稿時にカテゴリーが縦に45個表示して、その下に記事の入力があるので、やはり長すぎで使いづらいです。こちらの方が悩んでいます。もし簡単な変更で対応できれば好いのですが、よい解決策がありますでしょうか。
function categories_nested_select($sel_categories) { $categoryHandler =& wp_handler('Category'); $categoryObjects =& $categoryHandler->getNestedObjects(null,''); $prev_level = 1; $output = '<div style="float:left">'; $lines = 0; foreach ($categoryObjects as $categoryObject) { if (++$lines > 10) { $output .= '</div><div style="float:left">'; $lines = 0; } if ($prev_level < $categoryObject->getExtraVar('category_level')) { $output .= "<span class='cat-nest'>"; } elseif ($prev_level > $categoryObject->getExtraVar('category_level')) { $output .= "</span>"; } $prev_level = $categoryObject->getExtraVar('category_level'); $cat_ID = $categoryObject->getVar('cat_ID'); $id = "category-$cat_ID"; $cat_name = $categoryObject->getVar('cat_name'); $checked = (in_array($cat_ID, $sel_categories)) ? ' checked="checked"' : ""; $output .= "<label for='$id' class='selectit'>"; $output .= "<input value='$cat_ID' type='checkbox' name='post_category[]' id='$id' $checked/>$cat_name"; $output .= "</label>"; } $output .= '</div>'; return $output; }
引用:nobunobuさんは書きました:WordPress0.6.0であれば、ブロックはファイルベースのSmartyTemplateになっています。カテゴリー一覧ブロックは、デフォルトは、/modules/wordpress/themes/default/templates/下のwp_categories0.htmlwp_categories0_c.htmlがレイアウトの実体となっています。カテゴリーは階層化に対応していますので、makotaさんがこの階層をどのように使用されているかで変わってきますが、現在の単純な<{foreach ..}>ループを決められた件数毎で区切るような修正を行えば、複数カラム対応は可能と思います。ありがとうございます。こちらはテンプレートのようですし、サイドブロックにしておけば良いので時間をみて変更してみたいと思います。引用:投稿画面のカテゴリー選択部分は、/modules/wordpress/wp-admin/admin-functions.php内の、24行目あたりのfunction categories_nested_select($sel_categories) にて描画しています。この部分を function categories_nested_select($sel_categories) { $categoryHandler =& wp_handler('Category'); $categoryObjects =& $categoryHandler->getNestedObjects(null,''); $prev_level = 1; $output = '<div style="float:left">'; $lines = 0; 省略 に変更頂ければ、カテゴリー10個ごとに別列になってくれると思います。変更してみましたが、カテゴリ表示の幅が決まっていて、その幅の中で無理やり列になっている感じでした。理想はhttp://mahal.jp/images/0001.jpgこんな感じです。投稿時のタイトル、カテゴリなどの配置を決めているファイルが分かれば、ご支持いただいたadmin-functions.phpの変更で何とかなるようなきがします。のぶのぶさん お忙しいとこ恐れ入ります。
nobunobuさんは書きました:WordPress0.6.0であれば、ブロックはファイルベースのSmartyTemplateになっています。カテゴリー一覧ブロックは、デフォルトは、/modules/wordpress/themes/default/templates/下のwp_categories0.htmlwp_categories0_c.htmlがレイアウトの実体となっています。カテゴリーは階層化に対応していますので、makotaさんがこの階層をどのように使用されているかで変わってきますが、現在の単純な<{foreach ..}>ループを決められた件数毎で区切るような修正を行えば、複数カラム対応は可能と思います。
投稿画面のカテゴリー選択部分は、/modules/wordpress/wp-admin/admin-functions.php内の、24行目あたりのfunction categories_nested_select($sel_categories) にて描画しています。この部分を function categories_nested_select($sel_categories) { $categoryHandler =& wp_handler('Category'); $categoryObjects =& $categoryHandler->getNestedObjects(null,''); $prev_level = 1; $output = '<div style="float:left">'; $lines = 0; 省略 に変更頂ければ、カテゴリー10個ごとに別列になってくれると思います。
function categories_nested_select($sel_categories) { $categoryHandler =& wp_handler('Category'); $categoryObjects =& $categoryHandler->getNestedObjects(null,''); $prev_level = 1; $output = '<div style="float:left">'; $lines = 0; 省略
引用:makotaさんは書きました:変更してみましたが、カテゴリ表示の幅が決まっていて、その幅の中で無理やり列になっている感じでした。投稿時のタイトル、カテゴリなどの配置を決めているファイルが分かれば、ご支持いただいたadmin-functions.phpの変更で何とかなるようなきがします。のぶのぶさん お忙しいとこ恐れ入ります。/modules/wordpress/themes/default/wp-admin.css内に、 #wpAdminMain #categorydiv { line-height: 120%; width: 15em; float: left; } という部分がありますが、この中のwidth (現在は15文字分)を調整すればうまくいくと思います。
makotaさんは書きました:変更してみましたが、カテゴリ表示の幅が決まっていて、その幅の中で無理やり列になっている感じでした。投稿時のタイトル、カテゴリなどの配置を決めているファイルが分かれば、ご支持いただいたadmin-functions.phpの変更で何とかなるようなきがします。のぶのぶさん お忙しいとこ恐れ入ります。
#wpAdminMain #categorydiv { line-height: 120%; width: 15em; float: left; }
のぶのぶさん ありがとうございます。理想のレイアウトになりました。欲を言えば単にカテゴリの個数でカラム化するのではなく、親カテゴリのグループでカラム化するといいですね。でもこれもケースバイケースですね。ブロックのカテゴリ一覧表示については、また試してからご報告いたしますお忙しい中ありがとうございました。
このプログラムは KENT 氏の yybbs を xoops(PHP) に移植したものです - KENT -