1

カスタム ウィジェットを使用してワードプレスのテーマを作成しているので、3 つのラジオ ボタンを使用してサンプル ウィジェットを作成したいと考えています。

function update( $new_instance, $old_instance ) {

$instance = $old_instance;

$instance['default-image'] = strip_tags($new_instance['default-image']);
$instance['post-image'] =  strip_tags($new_instance['post-image']);
$instance['link-image'] =  strip_tags($new_instance['link-image']);

return $instance;

}

function form( $instance ) {

$defaults = array('default-image' => true, 'post-image' => false, 'link-image' => false );
$instance = wp_parse_args( (array) $instance, $defaults ); 

?>

<p>
    <input name="option" type="radio" <?php checked($instance['default-image']); ?> id="<?php echo $this->get_field_id('default-image'); ?>"/> 
    <label for="<?php echo $this->get_field_id( 'default-image' ); ?>"><?php _e('Default image'); ?></label>
</p>
<p>
    <input name="option" type="radio" <?php checked( $instance['post-image']); ?> id="<?php echo $this->get_field_id('post-image'); ?>" /> 
    <label for="<?php echo $this->get_field_id( 'post-image' ); ?>"><?php _e('First post image'); ?></label>
</p>
<p>
    <input name="option" type="radio" <?php checked( $instance['link-image']); ?> id="<?php echo $this->get_field_id('link-image') ?>" /> 
    <label for="<?php echo $this->get_field_id( 'link-image' ); ?>"><?php _e('Image from link'); ?></label>
</p>

$instance['default-image']、$instance['post-image']、$instance['link-image'] を使用して widget() でそれらを提供しますが、今のところ「保存」ボタンまたは (更新)管理ページで) 選択したオプションが消えます。誰かが私が間違っている場所を教えてくれれば、感謝します。

4

2 に答える 2

0

そのstrip_tags機能は本当に必要ですか?

function update($new, $old) {
    return $new;
}

ウィジェットで使っています^^

于 2013-06-19T14:27:06.920 に答える