입력 값이 두 개보다 크거나 같을 때, 내 위젯:::update 쓰기
5706 단어 WordPress
입문
Wordpress에는 원래 준비가 되어 있거나 플러그인이 첨부되어 있는 작은 프로그램이 있습니다.
또한 작은 위젯,functions를 직접 제작합니다.php에서 등록할 수도 있습니다.
그 방법은 여기서 매우 잘 정리되었다.
http://liginc.co.jp/web/wp/112370
내가 이 점을 참고했을 때, 작은 위젯이 업데이트되는 과정에서 끼었다.
업데이트 프로세스
부품 설정 화면은 모양새 - 사용자 정의 화면에 있습니다.예를 들어 기본 RSS 애플릿은 이런 느낌입니다.
여기에 텍스트 상자를 입력할 때 업데이트 방법이 실행됩니다.초점이 분리된 시간 등 하나하나 검증하고 등록한다.
인증이 끊기면 등록할 수 없습니다.
아까 기사에 쓴 업데이트 처리 업데이트 방법이 이런 느낌이었어요.
MyWidget.php
/** 新しい設定データが適切なデータかどうかをチェックする。
* 必ず$instanceを返す。さもなければ設定データは保存(更新)されない。
*
* @param array $new_instance form()から入力された新しい設定データ
* @param array $old_instance 前回の設定データ
* @return array 保存(更新)する設定データ。falseを返すと更新しない。
*/
function update($new_instance, $old_instance) {
if(!filter_var($new_instance['email'],FILTER_VALIDATE_EMAIL)){
return false;
}
return $new_instance;
}
입력 값이 1개일 때 이렇게 하면 된다.값을 여러 개 입력할 때 정상적인 동작을 할 수 없습니다.나는 if에 성공 판정을 쓰기로 결정했다.
MyWidget.php
function update($new_instance, $old_instance) {
if ( !empty($new_instance['text']) ){
$new_instance['count'] = $old_instance['count'];
return $new_instance;
}
if ($new_instance['count'] > 0
&& $new_instance['count'] < 10
&& is_numeric($new_instance['count'])
){
$new_instance['text'] = $old_instance['text'];
return $new_instance;
}
return false;
}
if(성공 텍스트 1) {//$new_instance에 텍스트 2의 데이터 입력
return $new_instance;
}
if(성공 텍스트 2) {
//$new_instance에 텍스트 1의 데이터 입력
return $new_instance;
}
return false;
이런 느낌.
그러니까 기사를 활용한 글쓰기가 이런 느낌이겠죠.
MyWidget.php
function update($new_instance, $old_instance) {
if(!filter_var($new_instance['email'],FILTER_VALIDATE_EMAIL)){
return false;
} else {
$new_instanct['text'] = $old_instance['text'];
}
return $new_instance;
}
Reference
이 문제에 관하여(입력 값이 두 개보다 크거나 같을 때, 내 위젯:::update 쓰기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hanoopy/items/44cb44951e537bb83e89텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)