데스크탑용 위젯을 만듭니다. 처음부터 Windows 사이드바 가젯 작성 위젯 만들기




오늘은 Android 기기에서 나만의 위젯을 만드는 방법을 알아 보겠습니다. 위젯은 위젯 창에서 뉴스 보기, 일기 예보, 다양한 서비스에 대한 뉴스 업데이트, 장치의 다양한 기능 제어(화면 잠금, 라디오 켜기, 인터넷 및 기타 여러 가지). 이번에는 손전등처럼 거창하고 매우 유용한 것을 만들지 않겠습니다. :) 버튼 형태로 구현될 간단한 위젯을 만들겠습니다. 클릭하면 표준 브라우저를 사용하여 다음으로 이동합니다. 누구나 좋아하는 사이트입니다. 물론 원하는 어떤 웹사이트라도 맞춤 설정할 수 있습니다.

새 프로젝트를 만들고 빈 활동(최소 버전 Android 2.2+)을 선택합니다. 위젯을 생성할 때 가장 먼저 해야 할 일은 객체를 생성하는 것입니다. AppWidgetProviderInfo, 위젯 자체의 보기가 채워지는 xml 파일을 지정합니다. 이렇게 하려면 프로젝트에 폴더를 만듭니다. 해상도/xml그 안에 우리는 이름이 붙은 새로운 xml 파일을 생성합니다. 위젯.xml다음 내용으로:

< appwidget- provider xmlns: android= android: minWidth= "146dp" android: updatePeriodMillis= "0" android: minHeight= "146dp" android: initialLayout= "@layout/activity_main" > < / appwidget- provider>

이제 파일로 가보자 활동_main.xml위젯의 인터페이스를 생성하면 버튼으로 구성됩니다. 단추:

< LinearLayout xmlns: android= "http://schemas.android.com/apk/res/android" xmlns:도구= "http://schemas.android.com/tools" android: 레이아웃_폭= "match_parent" 안드로이드: 레이아웃_높이= "match_parent" 안드로이드: 중력= "top" 도구: context= ".MainActivity" >< Button android: id= "@+id/button" android: layout_width= "wrap_content" android: layout_height= "wrap_content" android: layout_marginLeft= "5dp" android: text= "@string/app_name" / > < / LinearLayout >

보시다시피 일반 버튼을 만들었고 이것이 위젯이 됩니다.

즉, 이 버튼 대신 원하는 모든 작업을 수행할 수 있습니다.

파일의 코드 작업으로 넘어 갑시다 MainActivity.java. 클래스로부터 상속받아야 합니다. AppWidgetProvider, 주요 방법이 존재합니다. 업데이트(). 이 방법에서는 두 개의 개체를 정의해야 합니다. 보류 중인 의도그리고 RemoteView. 사용이 끝나면 메소드를 호출해야 합니다. updateAppWidget(). 파일 코드 MainActivity.java:

import android.net.Uri ; import android.app.PendingIntent ; 수입 android.appwidget.AppWidgetManager; 수입 android.appwidget.AppWidgetProvider; import android.content.Context ; import android.content.Intent ; import android.widget.RemoteViews ; import android.widget.Toast ; import com.example.widget.R ; 공용 클래스 MainActivity는 AppWidgetProvider를 확장합니다( @Override public void onUpdate (Context context, AppWidgetManager appWidgetManager, int appWidgetIds) ( for (int i= 0; i< appWidgetIds. length; i++ ){ int currentWidgetId = appWidgetIds[i]; //지정된 링크에 대한 간단한 http 요청을 만들고 이를 따릅니다.문자열 url = "http://사이트" ; 의도 의도 = 새로운 의도(의도 . ACTION_VIEW); 의지. addFlags(의도 . FLAG_ACTIVITY_NEW_TASK); 의지. setData(Uri .parse(url)); //PendingIntent 및 RemoteViews 클래스의 두 가지 필수 개체를 정의합니다. PendingIntent 보류 중 = PendingIntent . getActivity(컨텍스트, 0, 의도, 0); RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.activity_main); //위젯을 추가하기 위한 클릭 처리를 구성합니다.견해. setOnClickPendingIntent(R . id. 버튼, 보류 중); appWidgetManager. updateAppWidget(currentWidgetId,views); 토스트. makeText(컨텍스트, "위젯이 추가되었습니다", 토스트 . LENGTH_SHORT). 보여주다(); ) ) )

위젯이 성공적으로 작동하려면 매니페스트 파일에 약간의 마법이 필요합니다. AndroidManifest.xml. 다음과 같아야 합니다.

< manifest xmlns: android= "http://schemas.android.com/apk/res/android"패키지 ="com.example.widget" 안드로이드: versionCode="1" 안드로이드: versionName="1.0" >< uses- permission android: name= "android.permission.INTERNET" / > < application android: allowBackup= "true" android: icon= "@drawable/ic_launcher" android: label= "@string/app_name" android: theme= "@style/AppTheme" > < receiver android: name= "home.study.MainActivity" > < intent- filter> < action android: name= "android.appwidget.action.APPWIDGET_UPDATE" / > < / intent- filter> < meta- data android: name= "android.appwidget.provider" android: resource= "@xml/widget" / > < / receiver> < / application> < / manifest>

짐작하셨듯이 위젯은 태그에 정의되어 있습니다.<수화기> .

수정해야 할 유일한 것은 파일을 편집하는 것입니다 문자열.xml, 거기에서 사용한 줄을 추가합니다.

< ? xml version= "1.0" encoding= "utf-8" ? > < resources> < string name= "app_name" >배우다. 기계적 인조 인간 < string name= "action_settings" >설정 < string name= "hello_world" >안녕하세요!< / string> < / resources>

주목! Android Studio는 프로그램을 시작할 때 기본 활동을 지정하도록 요구할 수 있습니다. "활동 시작 안 함" 줄을 선택합니다.

이제 에뮬레이터나 장치에 애플리케이션을 설치하고 바탕 화면에 위젯을 추가합니다.

그리고 그것을 클릭하세요:


보시다시피 모든 것이 잘 작동합니다.

따라서 이 튜토리얼에서는 버튼으로 구성된 간단한 Android 위젯을 만들었습니다. 위젯을 클릭하면 간단한 http 요청을 만들고 지정된 URL 링크를 따라갑니다. 버튼이 아닌 다른 요소를 사용해 연습하고 이에 대한 흥미로운 기능을 생각해 볼 수 있습니다. 행운을 빌어요!

하기 위해 Android에서 위젯 만들기프로그래밍 방법을 알 필요는 전혀 없습니다. 위젯을 쉽게 그리고 원하는 기능을 제공할 수 있는 여러 디자인 애플리케이션이 있습니다.

최소한의 텍스트

이 애플리케이션을 사용하면 텍스트와 숫자로 구성된 최소한의 위젯을 만들 수 있습니다. 이름에도 불구하고 이러한 위젯은 매우 광범위한 기능을 가지고 있습니다.

설치 후 필요한 크기의 최소 텍스트 위젯을 데스크탑에 추가하십시오. 위젯 설정 창이 열립니다.

설정에서 배경, 방향, 글꼴, 클릭 동작 등을 선택할 수 있습니다. 또한 설정에는 채우기를 위해 미리 정의된 레이아웃이 있습니다.

  • 시간.
  • 날짜.
  • 충전 수준.
  • 온도.

자신만의 위젯 레이아웃을 생성할 때 위젯 채우기를 위한 추가 옵션을 사용할 수 있습니다.

  • 텍스트.
  • SD 카드의 여유 공간/사용된 공간입니다.
  • 시스템 작동 시간.
  • 모바일 네트워크 등을 통해 전송되는 데이터의 양.
  • Wi-Fi 네트워크의 이름, Wi-Fi 네트워크의 IP 주소입니다.
  • 사용된 RAM의 양입니다.

모든 값은 텍스트와 숫자로 표시될 수 있습니다.

최고의 사용자 정의 위젯(UCCW)

이 애플리케이션을 사용하면 텍스트뿐만 아니라 그래픽 콘텐츠로도 위젯을 만들 수 있습니다.

실행되면 위젯 생성 창이 열립니다. 위젯에 개체를 추가하려면 상단의 +/- 버튼을 클릭하세요. 어떤 방식으로든 이동하고 편집하려면 상단의 '개체 선택' 버튼을 클릭한 후 추가된 개체를 선택하세요.

위젯에 다음 개체를 배치할 수 있습니다.

  • 시간, 날짜 및 요일입니다.
  • 아날로그 시계.
  • 사용자 정의 텍스트.
  • 숫자로 표시되는 충전 수준 또는 그래픽으로 표시됩니다.
  • 모든 날씨 정보 - 온도, 습도, 풍속 등
  • 기하학적 인물.
  • 이미지.
  • 읽지 않은 Gmail 이메일, SMS 및 부재중 전화 수입니다.
  • 알람시계가 울리는 시간.

각 요소는 회전, 늘리기, 구부리기 및 색상 변경이 가능합니다. 물론 클릭 동작을 구성할 수 있습니다(개체 선택->핫스팟 선택). 생성된 위젯의 가져오기 및 내보내기가 지원됩니다.

Android 운영 체제에는 많은 기능과 성능이 있습니다. 그 중 하나는 위젯입니다. 이를 실행하지 않고도 애플리케이션 기능의 일부를 사용할 수 있는 창입니다.

기본적으로 위젯은 애플리케이션과 함께 번들로 제공됩니다. 하지만 이 옵션이 없는 프로그램도 있습니다. 이는 문제를 직접 해결해야 함을 의미합니다!

  • Play Market을 사용하여 무료로 구입할 수 있는 무료 애플리케이션 “KWGT Kustom Widget Maker”를 다운로드하지만 일부 기능은 추가 기능을 구입한 후에만 사용할 수 있습니다.

이 프로그램은 다양한 개발자의 타사 위젯을 실행하기 위한 플랫폼 역할을 합니다. 또한 위젯의 모양을 변경하고 추가 기능을 제공할 수 있습니다.


처음에는 “KWGT Kustom Widget Maker”가 소프트웨어 개발 프로그램과 유사한 복잡한 애플리케이션이라고 생각할 수도 있습니다. 예, 아니요: 인터페이스는 비슷하지만 여기에는 복잡한 것이 없습니다.


위젯 편집을 시작하려면:

  • 데스크탑으로 이동하여 메뉴 버튼을 누르거나 화면을 길게 탭하여 데스크탑 편집용 메뉴를 불러옵니다.
  • "KWGT" 위젯 프레임을 찾아 필요한 크기(예: 4x2)를 설정합니다. 그 후 바탕 화면에 창이 나타납니다.
  • 창을 클릭하면 위젯 선택 메뉴가 열립니다.
  • 원하는 레이아웃을 선택하고 클릭하세요(추가 레이아웃은 Play 스토어에서 다운로드할 수 있습니다. 이렇게 하려면 애플리케이션 검색 표시줄에 "KWGT 위젯"을 지정하세요).
  • 원하는 레이아웃을 선택한 후 애플리케이션이 편집을 진행합니다. 다음 설정을 사용할 수 있습니다.
  1. 위젯의 기하학적 매개변수 설정을 담당하는 요소입니다.
  2. 배경, 위젯의 배경 이미지를 담당합니다.
  3. 위젯이 활성화될 때 수행될 작업을 지정하는 터치입니다.
  4. 위젯의 크기를 담당하는 레이어입니다.

결과적으로 필요한 기능을 갖춘 고유한 위젯을 얻게 됩니다.

최근에 Windows 사이드바용 가젯을 만들어야 했습니다. 저는 이 부분에 대한 기술이 전혀 없었기 때문에 조금 인터넷 검색을 하고 문서를 읽은 후 시작하겠습니다.

내가 무엇을 끝냈는지 바로 보여드리겠습니다.


가젯은 사이트로부터 XML 형식의 정보를 수신하여 구문 분석하고 실제로 표시합니다. 가젯은 또한 새 버전을 확인하고, 버전이 있는 경우 작동을 거부합니다. :)
처음에는 경험을 쌓기 위해 가젯 전체를 VBScript로 작성하고 싶었지만(아직 다루지 않았기 때문에) 결국에는 JavaScript로 삽입해야 했습니다.
코드로 직접 이동해 보겠습니다. 여기서는 전체 코드를 검토하지 않고 주요 사항만 보여 드리겠습니다. 완성된 가젯에 대한 링크는 기사 끝에 있습니다.
가젯의 기본 파일은 매니페스트(Gadget.xml 파일)입니다. 이는 정확히 그렇게 호출되어야 하며 우리 아카이브의 루트에 위치해야 합니다(가젯은 .gadget 확장자를 가진 ZIP 아카이브에 지나지 않습니다).

Info.Denms.Ru의 날씨 1.0.1232 전체 날씨 위젯(Info.Denms.Ru)

좀 더 자세히 살펴보겠습니다.
요소 1.0.0(현재)과 동일한 apiVersion과 가젯의 기본 파일을 지정하는 src 속성을 포함해야 합니다.
가젯에 대한 권한입니다. 전체와 동일하게 설정합니다.
Windows 사이드바의 최소 버전입니다. 현재 – 1.0;
옵션 - 가젯 이름, - 버전, - 저자에 대한 정보, - 가젯이 있는 페이지에 링크합니다. - 가젯 아이콘 및 설치된 가젯 패널에 표시됩니다.

main.html 파일은 일반적인 html 파일이므로 전체 내용을 나열하지는 않고 몇 가지 사항만 살펴보겠습니다.
g:Background 요소는 가젯의 배경을 설정하는 데 사용됩니다. 투명하게 만들어 보겠습니다.

가젯은 도킹된 상태(위 화면 왼쪽)와 도킹 해제된 상태(오른쪽)의 두 가지 상태일 수 있습니다. 가젯의 현재 상태를 JavaScript 도킹 변수에 저장하겠습니다.

VBScript에서 가젯의 현재 상태를 알아내려면 앞으로 isDocked 래퍼 함수가 필요할 것입니다(아무리 노력해도 순수 VBScript에서는 구현할 수 없었습니다). 한 가지 더 참고하세요. 스크립트는 이 순서대로 올바르게 작동합니다. 먼저 VBScript 스크립트를 설명한 다음 JavaScript를 설명합니다.

main.html의 나머지 요소는 절대 위치에 있는 DIV 요소입니다. 그런 다음 스크립트에서 해당 ID로 액세스합니다.

JavaScript를 사용하여 가젯의 도킹 및 도킹 해제 상태를 설정하고 설정 파일(main.js)도 지정합니다.

System.Gadget.onDock = 크기 조정; System.Gadget.onUndock = 크기 조정; System.Gadget.settingsUI = "settings.html"; System.Gadget.onSettingsClosed = 설정닫기; 도킹됨=0; //가젯의 초기 상태 resize(); //초기화

위 목록에서 볼 수 있듯이 가젯 상태가 변경되면 resize() 함수가 호출됩니다.

함수 resize() ( bd = document.body.style; System.Gadget.beginTransition(); if (System.Gadget.docked) ( // 작은 상태 bd.width=148; // 가젯 크기 설정 bd.height= 201 ; Docked = 1; bd.Background="url(images/gadget.png) no-repeat"; //배경 설정 //그런 다음 도킹 해제된 상태에서 도킹된 상태로 값을 전송하고 요소를 재설정합니다. 도킹 해제된 상태의 경우 document.getElementById("small_needupdate ").innerHTML = document.getElementById("big_needupdate").innerHTML; document.getElementById("big_needupdate").innerHTML = ""; //... ) else ( // big state bd.width=230; bd.height=160; bd.Background="url(images/gadgeth.png) no-repeat"; Docked=0; //도킹된 상태에서 도킹 해제된 상태로 값을 전송하고 요소를 재설정합니다. 도킹 상태의 경우 document.getElementById("big_needupdate").innerHTML = document.getElementById("small_needupdate").innerHTML; document.getElementById("small_needupdate").innerHTML = ""; //... ) System.Gadget.endition (System.Gadget.TransitionType.morph,1); )

설정 저장 기능을 설명할 수도 있습니다. 내 가제트에는 이러한 기능이 없지만 예를 들어 어떻게 수행되는지 보여 드리겠습니다.

함수 설정Closed(event) ( if (event.closeAction == event.Action.commit) ( //alert System.Gadget.Settings.readString("test"); ) )

ReadString – 이전에 저장된 문자열을 읽고 각각 writeString을 씁니다.
System.Gadget.beginTransition(); 및 System.Gadget.endTransition(); 가젯의 "부드러운" 크기 조정에 필요합니다. Windows Seven에서는 무시되지만 이전 버전과의 호환성을 위해 그대로 두었습니다.

위에서 언급했듯이 서버는 날씨 정보를 xml 형식으로 제공합니다.

1.7 41 흐린 눈 87 남서쪽 5 -3 -1 -1 26 1 -9 41 0 …

VBScript를 사용하여 xml을 다운로드하고 구문 분석하겠습니다.

Sub DownloadXML2 Set objXML = CreateObject("Microsoft.XmlHttp") objXML.Open "GET", "http://info.kovonet.ru/weather.xml", True objXML.OnReadyStateChange = GetRef("objXML_onreadystatechange") objXML.setRequestHeader "수정된 이후", "2000년 1월 1일 토요일 00:00:00 GMT" objXML.Send iTimeoutID = window.SetTimeout("mySleep", 1000) End Sub

mySleep 기능은 연결 시간 초과를 확인합니다.

Sub mySleep if bRespReceived = "false" then "응답이 아직 수신되지 않음 iTimeout = iTimeout + 1 if (iTimeout > 30) then "timeouttimerFirstRun = window.SetTimeout("Update", 60000) "1분 후에 다시 업데이트를 시도합니다. "시간 초과에 아직 도달하지 않았습니다. 초를 계속 계산합니다. iTimeoutID = window.SetTimeout("mySleep", 1000) end if end if End Sub

다운로드가 성공하면 objXML.readyState는 4가 되고 상태(objXML.status)는 값 200을 반환합니다.

함수 objXML_onreadystatechange() If (objXML.readyState = 4) Then "msgbox objXML.statusText If (objXML.status = 200) Then bRespReceived=true SaveFile(objXML.responseText) else 타이머FirstRun = window.SetTimeout("Update", 60000) " 잠시 후에 다시 업데이트를 시도합니다. End If End If End Function

이 경우 Windows 임시 폴더에 파일을 저장하세요.

함수 SaveFile(what) Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filepath = tempFolder+"\weather.xml" Dim fso1, tf Set fso1 = CreateObject("Scripting.FileSystemObject") Set tf = fso1.CreateTextFile(filepath, True, True) "다시 쓰기, 유니코드 tf.Write(what) tf.Close ParseXML 종료 함수

그리고 파일을 구문 분석하기 시작합니다.

Sub ParseXML Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filepath = tempFolder+"\weather.xml" Set xmlDoc = CreateObject("Msxml2.DOMDocument") xmlDoc.async="false" xmlDoc. load(filepath) "메인 노드 – 우리의 경우 currNode = xmlDoc.documentElement "요일 설정 – dayNode = currNode.firstChild 설정 dayNode가 아무것도 아닌 경우 currNode = dayNode.firstChild 설정 currNode가 아무것도 아닌 경우 currNode.parentNode.getAttribute("id") = "today"인 경우 "today if currNode.nodeName = "temp"인 경우 document .getElementById(prefix+"maintemp").innerHTML = currNode.childNodes(0).text+Chr(176) "나머지 요소 표시 Else "오늘은 아님, 더 세밀하게 표시"... end If Set currNode = currNode.nextSibling Wend dayNode = dayNode.nextSibling Wend End Sub 설정

새 버전 확인도 똑같은 방식으로 수행됩니다.
위에서 발표한 settings.html이라는 설정 파일을 만드는 것을 잊지 마세요.

설정

실제로 그게 전부입니다. 내 (첫 번째 :)) 기사가 누군가에게 유용했다면 기쁠 것입니다.

중고 소스.

만들다 워드프레스 위젯– 대략적인 플러그인 생성 방법이지만 훨씬 더 간단하고 명확합니다. 필요한 것은 모든 것이 포함된 하나의 파일입니다 PHP여러 파일이 있는 플러그인보다 작성하기가 훨씬 쉬운 코드입니다. 위젯에는 세 가지 주요 기능이 있습니다. 위젯, 업데이트그리고 형태.

  • 함수 위젯()
  • 함수 업데이트()
  • 함수형()

| 소스 다운로드 |

기본 구조

우리 위젯의 기본 디자인은 매우 간단하며, 알아야 할 유용한 기능이 있습니다. 위젯 구조의 백본은 다음과 같습니다.

Add_action("widgets_init", "register_my_widget"); // 위젯을 로드하는 함수 functionregister_my_widget() () // 위젯 클래스를 등록하는 함수 My_Widget은 WP_Widget을 확장합니다. () () // 위젯 클래스 예제 function My_Widget() () // 위젯 설정 함수 widget() () // 위젯 함수 표시 update() () // 위젯 함수 업데이트 form() () // 물론 위젯 옵션에 대한 양식도 업데이트합니다.

1 단계. widget_init

이 모든 작업을 수행하기 전에 다음 함수를 사용하여 위젯을 로드해야 합니다. widget_init. 이것이 단서이다 행동, WordPress 코덱스에서 자세한 내용을 확인할 수 있습니다.

Add_action("widgets_init", "register_my_widget");

다음으로 우리가 할 일은 등록하자 WordPress의 위젯을 위젯 섹션에서 사용할 수 있도록 합니다.

함수register_my_widget() (register_widget("My_Widget"); )

2 단계. 수업

우리는 위젯을 다음과 같이 묶을 것입니다. 수업. 학번이 중요해요! 우리가 명심해야 할 점은 클래스 이름과 함수 이름은 다음과 같아야 한다는 것입니다. 동일한.

My_Widget 클래스는 WP_Widget()을 확장합니다.

이제 우리는 몇 가지를 통과할 것입니다 옵션설정. 예를 들어 다음과 같이 보낼 수 있습니다. 너비그리고 . 우리는 또한 작은 것을 줄 수 있습니다 설명원한다면 위젯에 추가하세요. 이는 위젯을 상업용 테마와 연결하는 경우 유용합니다.

Function My_Widget() ( function My_Widget() ( $widget_ops = array("classname" => "example", "description" => __("작성자 이름을 표시하는 위젯 ", "example")); $control_ops = array("width" => 300, "height" => 350, "id_base" => "example-widget"); $this->WP_Widget("example-widget", __("예제 위젯", "example" ), $widget_ops, $control_ops); )

이제 위젯에 대한 기본 요구사항을 완료했으므로 다음 사항에 주의를 기울이겠습니다. 세 가지 기능, 이는 앞서 이야기한 것이며 위젯을 구축하는 데 중요한 기능 또는 기본 블록입니다!

3단계: 함수 위젯()

첫 번째 함수는 다음을 참조합니다. 표시하다우리 위젯. 몇 가지를 전달하겠습니다. 인수우리의 기능에. 주제의 인수를 전달합니다. 이는 제목이나 다른 매개변수일 수 있습니다. 이제 변수를 전달합니다. 사례, 이는 우리 함수의 클래스와 연관되어 있습니다.

함수 위젯($args, $instance)

이 후에 우리는 추출합니다 옵션매개변수를 로컬에서 사용할 수 있어야 하기 때문에 인수에서 가져옵니다. 지역 변수가 무엇인지 모른다면 지금 걱정하지 말고 이 단계를 추가하세요.

추출($args);

다음으로 설치해보겠습니다 제목그리고 다른 매개변수위젯 메뉴에서 사용자가 변경할 수 있는 위젯입니다. 다음과 같은 특수 변수도 추가합니다. $before_widget, $after_widget. 이러한 매개변수는 테마별로 처리됩니다.

$title = apply_filters("widget_title", $instance["title"]); $name = $instance["이름"]; $show_info = isset($instance["show_info"]) ? $instance["show_info"] : 거짓; 에코 $before_widget; // ($title) echo $before_title 인 경우 위젯 제목을 표시합니다. $제목 . $after_title; //($name)인 경우 이름 표시 printf("

" . __("안녕하세요 선원님! 제 이름은 %1$s입니다.", "예제") . "

", $name); if ($show_info) printf($name); echo $after_widget;

4단계: 함수 업데이트()

함수 업데이트($new_instance, $old_instance) ( $instance = $old_instance; //HTML을 제거하기 위해 제목과 이름에서 태그를 제거합니다. $instance["title"] = Strip_tags($new_instance["title"]); $instance[" name"] = Strip_tags($new_instance["name"]); $instance["show_info"] = $new_instance["show_info"]; return $instance; )

한 가지 주의할 점: 여기서는 스트립_태그모든 텍스트를 제거하려면 XHTML, 위젯의 작동을 방해할 수 있습니다.

5단계: 함수 형식()

다음 단계에서는 형태어떤 역할을 할 것인가 입력 블록. 사용자 정의 설정 및 값이 적용됩니다. 기능 형태확인란, 텍스트 입력 필드 등이 포함될 수 있습니다.

이러한 입력 필드를 만들기 전에 사용자가 위젯에서 아무것도 선택하지 않을 때 무엇을 표시할지 결정해야 합니다. 이를 위해 제목, 설명 등 매개변수에 기본값을 전달합니다.

//기본 위젯 설정을 설정합니다. $defaults = array("제목" => __("예제", "예제"), "이름" => __("빌랄 샤힌", "예제"), "show_info" => true); $instance = wp_parse_args((array) $instance, $defaults); ?>

이제 우리는 만들 것입니다 텍스트 입력 필드. 이 값을 단락 태그로 묶겠습니다.

// 위젯 제목: 텍스트 입력

" 이름="get_field_name("제목"); ?>" 값="" 스타일="너비:100%;" />

//텍스트 입력

" 이름="get_field_name("이름"); ?>" 값="" 스타일="너비:100%;" />

// 체크박스

아이디="get_field_id("show_info"); ?>" 이름="get_field_name("show_info"); ?>" />

결론

이제 다 끝났습니다. 블로그 작성자의 이름을 표시하는 귀엽고 간단한 위젯을 직접 만들었습니다. 또한 사용자는 정보를 청중에게 표시할지 여부를 선택할 수 있습니다. 코드를 다음 위치에 저장하세요. PHP 파일테마 폴더에 업로드하세요. 당신의 전화 함수.php. 그 후 콘솔로 이동하세요. 모양 → 위젯위젯이 표시됩니다.

이 코드는 모두 기사에 첨부된 파일에 포함되어 있어 복사하여 붙여넣기가 훨씬 더 쉽습니다. 즐기다!