저는 사용자 지정 Wordpress 위젯에 문제가 있습니다. 이상한 이유로 양식 기능이 두 번 실행되어 두 개의 Redactor 텍스트 영역을 만들지 만 사이드 바에 위젯을 추가 할 때만 문제가 발생합니다. 추가 된 후에 저장 버튼을 클릭하지 않습니다.Wordpress 위젯 양식 기능이 두 번 실행됩니다.
어떻게하면 내 양식 기능이 한 번만 실행되거나 JavaScript가 한 번만 실행되도록 할 수 있습니까?
전체 위젯 코드
내 양식 기능 나는 몇 가지 무슨 일이있는 것 같다 것은 테스트
function form($instance)
{
$instance = wp_parse_args((array) $instance, array('box1' => '', 'box2' => '', 'box3' => '', 'box4' => ''));
$box1 = $instance['box1'];
$box2 = $instance['box2'];
$box3 = $instance['box3'];
$box4 = $instance['box4'];
$boxqty = $instance['boxqty'];
$uniqueID = rand();
echo "Unique ID: ".$uniqueID;
?>
<p>
<label for="<?php echo $this->get_field_id('boxqty'); ?>">Number of blocks: (1-4)
<input class="widefat" id="<?php echo $this->get_field_id('boxqty'); ?>" name="<?php echo $this->get_field_name('boxqty'); ?>" type="text" value="<?php echo attribute_escape($boxqty); ?>" />
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id('box1'); ?>">Box 1:
<textarea class="widefat redactor_content_<?php echo $uniqueID; ?>" id="box1" name="<?php echo $this->get_field_name('box1'); ?>" style="width: 600px;"><?php echo $box1; ?></textarea>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id('box2'); ?>">Box 2:
<textarea class="widefat redactor_content_<?php echo $uniqueID; ?>" id="<?php echo $this->get_field_id('box2'); ?>" name="<?php echo $this->get_field_name('box2'); ?>" style="width: 600px;"><?php echo $box2; ?></textarea>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id('box3'); ?>">Box 3:
<textarea class="widefat redactor_content_<?php echo $uniqueID; ?>" id="<?php echo $this->get_field_id('box3'); ?>" name="<?php echo $this->get_field_name('box3'); ?>" style="width: 600px;"><?php echo $box3; ?></textarea>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id('box4'); ?>">Box 4:
<textarea class="widefat redactor_content_<?php echo $uniqueID; ?>" id="<?php echo $this->get_field_id('box4'); ?>" name="<?php echo $this->get_field_name('box4'); ?>" style="width: 600px;"><?php echo $box4; ?></textarea>
</label>
</p>
<!--Activate Redactor-->
<script type="text/javascript">
jQuery('.redactor_content_<?php echo $uniqueID; ?>').redactor({
fixed: true
});
console.log('Unique ID: <?php echo $uniqueID; ?>');
</script>
<?php
}
"적어도 JavaScript를 한 번 실행하십시오."- 문제는 자바가'form' 함수 자체가 아니라 두 번 실행된다는 것입니다. –
나는 폼 함수가 실제로 두 번 실행되는 PHP 코드로 testet를 가지고있다. – dasmikko