• お世話になっています。
    サブディレクトリ形式のマルチサイトを運営しています。

    親サイトがメインページ。
    子サイトがコンテンツページ群という形です。

    親サイトには子サイトを分類する為の「カテゴリ」を設定、
    子サイトで「ジャンル」としてカテゴリ選択をしていました。

    今まで子サイトでは「ジャンル」をひとつしか選択できなかったのですが、
    複数選択したいという要望があったので、選択の形式を
    ラジオボタンからチェックボックスに変更したところ、
    うまくいかなくて困っています。

    「ジャンル」の設定はfunctions.phpに
    ===================================
    $sp1_sec->component(‘genre’, ‘ジャンル’)->radio(‘genre’, $site_terms, array(‘checked’ => reset($site_terms), ‘separator’ => ‘  ‘));
    ===================================

    書いてあったので、単純に「radio」を「checkbox」に変えたところ、ボックスがひとつしか表示されませんでした。

    PHPの知識もまだまだ未熟な為、この構文の意味もご教示いただけたら幸いです。
    よろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • naga0825さん、こんにちは。

    ご呈示いただいたコードは、少なくとも WordPress 本体で使えるものではなく、プラグイン、もしくは、独自に開発されたものに依存するコードかと思われます。このため、提示いただいたコードだけでは、アドバイスすることは困難であるため、質問ルール等お読みになって、環境等のデータも合わせて提示願います。

    トピック投稿者 naga0825

    (@naga0825)

    jim912さん、回答ありがとうございます。

    ご指摘の通り、今回の質問で提示したコードは
    別の人に頼んでつくってもらったテーマなので、
    おそらく独自コードが使われていると思います。

    使用環境はWordPress 3.3.1、
    使用プラグインは
    Google XML Sitemaps with Multisite support
    TinyMCE Advanced
    Tweet Blender
    WP-DBManager
    WP Multibyte Patch
    です。

    このジャンル分けの設定は、親サイト・子サイトそれぞれの管理画面から
    設定されていて、まず親サイトのfunctions.phpに
    カスタム投稿タイプ「作品」を設定。
    ここにタクソノミー「カテゴリ」が設定されています。
    $blog_info->taxonomy(‘blog_info_category’, array(
    ‘label’ => ‘カテゴリー’,
    ‘hierarchical’ => false,
    ‘has_archive’ => true,
    ‘public’ => true,
    ));
    「カテゴリ」には
    「ファンタジー/famtasy」というように
    「名前/スラッグ」が十数個登録されています。
    これが子サイトの設定画面に「ジャンル」として表示されるのですが、
    子サイトのfunctions.phpには、
    function init_theme()
    {
    global $wpdb, $wp_rewrite;

    register_taxonomy(‘blog_info_category’, ‘blog_info’, array(‘hierarchical’ => false, ‘public’ => false));
    register_taxonomy(‘blog_info’, array(‘hierarchical’ => false, ‘public’ => false));

    switch_to_blog($wpdb->siteid);
    $site_term_objects = get_terms(‘blog_info_category’, array(‘hide_empty’ => false));
    restore_current_blog();

    $site_terms = array();

    foreach ($site_term_objects as $site_term_object) {
    $site_terms[$site_term_object->name] = $site_term_object->term_id;
    }

    $sp1_sec->component(‘genre’, ‘ジャンル’)->radio(‘genre’, $site_terms, array(‘checked’ => reset($site_terms), ‘separator’ => ‘ ‘));
    と設定されていました。

    親の「カテゴリ」データを子で「ジャンル」に変え、
    ラジオボタンの選択表示をしている、
    ぐらいの認識はあるのですが、これを複数選択=チェックボックスに
    変更したとき、ひとつしか表示されなくなってしまう理由がわからないのです。

    つたない説明で申し訳ないのですが、
    少しでも手がかりがもらえればと思います。
    よろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)

トピック「ラジオボタンで取得しているデータを複数取得したい」には新たに返信することはできません。