テーマ設定で投稿カテゴリを表示したいのですが、次のコードを使用してこれを成功させました。
<?php /* Get the list of categories */
$categories = get_categories();
foreach ( $categories as $category) :
$selected = '';
?>
<option <?php echo $option ?> value="<?php echo $category->cat_ID; ?>">
<?php echo $category->cat_name; ?></option>
<?php endforeach; ?>
すべてがうまく機能しているので、私はそのオプションを呼び出すことができます。
足りないのは、カテゴリを選択した後、設定を保存したときに、そのカテゴリがドロップダウンボックス内で選択済みとしてマークされていないことです。それでも、選択したカテゴリはデータベースに保存されます。
-
私はaceraのテーマオプションを使用しています、そして私は選択カテゴリオプションを作成するために選択タイプを編集しました。
これが私が始めたコードです:
<select name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
<?php
if (get_option($value['id']))
$default = get_option($value['id']);
else
$default = $value['default'];
foreach ($value['options'] as $option):
$selected = '';
if ($option == $default)
$selected = ' selected="selected"';
?>
<option <?php echo $selected; ?>><?php echo $option ?>
</option>
<?php endforeach; ?>
</select>
だからここから私は(私はこれをやったとオプションがフロントエンドで働いている)カテゴリを表示し、また選択されたものを選択されたように設定したいと思います。 (これはありません)
ありがとう
あなたが探しているのは selected()
関数 です。
更新されたoption
は次のようになります。
<option
value="<?php echo $category->cat_ID; ?>"
<?php selected($option, $category->cat_ID); ?>>
<?php echo $category->cat_name; ?>
</option>
// EDIT
ああ、そしてところで、あなたの特定のケースでは、あなたは wp_dropdown_categories
関数 を使いたいと思うかもしれません、と私は思います。
それはそうだろう:
wp_dropdown_categories(
array(
'selected' => $option
// maybe some other settings
)
);
あなたがオプションの値を与えていないあなたのHTMLコードをチェックしてください:あなたがそれを保存するとき、それは保存されません。
<select name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
<?php
if (get_option($value['id']))
$default = get_option($value['id']);
else
$default = $value['default'];
foreach ($value['options'] as $option):
$selected = '';
if ($option == $default)
$selected = ' selected="selected"';
?>
<option <?php echo $selected; ?> value="<?php echo $option ?>"><?php echo $option ?>
</option>
<?php endforeach; ?>
</select>