0

WordPress テーマにオプション パネルがあり、いくつかのテキスト フィールドがあります。例: プロジェクトのタイトル、プロジェクトの説明、Twitter のユーザー名など。

case 'text':
    $val = $value['std'];
    $std = get_option($value['id']);
    if ( $std != "") { $val = $std; }
    $output .= '<input class="" maxlength="12" name=""'. $value['id'] .'" id="'. $value['id'] .'" type="'. $value['type'] .'" value="'. $val .'" />';
break;

上記のコードが示すように...現在、テキスト フィールドの最大長は 12 ですが、テキスト フィールドごとに異なる最大長を設定したいと考えています。これどうやってするの?

テキスト フィールドの入力 ID は、mytheme_projectitle1、mytheme_projectitle2、mytheme_projectitle3、mytheme_twitterusername などです。ID だけで、入力クラスはありません。

4

1 に答える 1

0

$value['id']コードから明らかなように、各要素の id にアクセスできます。それを使用して、たとえば次のように最大長を導き出します。

case 'text':
    // Overrides for the default value of maxlength
    $maxlengths = array(
        'mytheme_projecttitle1' => 10,
        'mytheme_projecttitle2' => 20,
    );

    // If there is an override value use it; otherwise use the default of 12
    $maxlen = isset($maxlengths[$value['id']]) ? $maxlengths[$value['id']] : 12;

    $val = $value['std'];
    $std = get_option($value['id']);
    if ( $std != "") { $val = $std; }

    $output .= '<input class="" maxlength="'.$maxlength.'"..."; // the rest as before
于 2012-11-10T17:16:15.260 に答える