WordPress에서 나만의 맞춤형 위젯을 만들기 위한 주목할만한 가이드
게시 됨: 2021-07-06WordPress 웹 사이트에서 사용자 정의 위젯을 만드는 방법
한동안 WordPress 사이트를 운영해 왔다면 위젯과 그 사용에 대해 확실히 알고 있을 것입니다. 위젯은 WordPress 사용자가 웹 사이트 테마의 사이드바(위젯 영역이라고도 함)에 더 많은 콘텐츠와 기능을 추가하는 데 도움이 되는 훌륭한 도구 역할을 합니다.
또한 원하는 것과 필요에 따라 위젯을 머리글, 바닥글 등과 같은 WP 테마의 다른 여러 영역에 추가할 수 있습니다.
위젯은 주로 웹사이트의 요소를 끌어다 놓는 데 도움이 됩니다. 기본적으로 WordPress 테마의 관리 대시보드에서 여러 위젯을 찾을 수 있습니다.
그러나 사이트 대시보드를 사용자 지정 위젯을 만드는 데 훨씬 더 유용하게 만들 수 있습니다. 이 게시물을 통해 워드프레스 웹사이트 대시보드에서 나만의 맞춤형 위젯을 만드는 방법을 알려드리겠습니다.
관련 게시물: WordPress 웹사이트에서 위젯을 추가하고 사용하는 방법은 무엇입니까?
대시보드에서 사용자 지정 위젯을 어떻게 만들 수 있습니까?
사이트의 관리 대시보드에서 사용자 지정 위젯을 만들고 싶다고 가정해 보겠습니다. 이를 위해 가장 먼저 해야 할 일은 위젯을 WordPress에 등록하는 것입니다.
그렇게 하려면 wp_add_dashboard_widget() 함수를 사용해야 합니다. 새로 생성된 위젯을 워드프레스에 알려주는 워드프레스 기본 기능입니다.
다음은 사용자 지정 위젯을 등록하는 방법을 보여주는 코드입니다.
// Register your custom widget function by hooking into the 'wp_dashboard_setup' action
add_action( 'wp_dashboard_setup', 'first_custom_dashboard_widget' );
함수 first_custom_dashboard_widget() {
wp_add_dashboard_widget(
'first_custom_dashboard_widget',
//위젯 슬러그입니다.
'첫 커스텀 대시보드 위젯',
// 이것은 위젯의 제목입니다.
'first_custom_dashboard_widget_display'
//디스플레이 함수
);
}
//대시보드 위젯 내부에 표시할 내용을 표시하는 함수를 만듭니다.
함수 first_custom_dashboard_widget_display() {
echo '여기에 위젯을 설명합니다 Widget';
}
참고: 위의 코드는 테마의 functions.php 파일에 추가해야 합니다.
위의 코드 조각은 "First Custom Dashboard Widget"이라는 사용자 지정 위젯을 만드는 데 도움이 됩니다. 이제 코드가 어떻게 작동하는지 이해합시다:
- 코드의 첫 번째 줄에서 register_first_custom_dashboard_widget() 함수는 wp_dashboard_setup 작업 후크에 연결됩니다. 간단히 말해서, 코드의 시작 라인은 wp_dashboard_setup 작업이 테마 코드 내에 나타날 때마다 first_custom_dashboard_widget()이 실행된다는 것을 의미합니다.
- 다음으로 wp_dashboard_setup() 함수는 다음과 같은 다른 매개변수를 갖는 wp_add_dashboard_widget()에 대한 간단한 호출을 수행합니다.
- 위젯 슬러그
- 위젯 제목
- 디스플레이 기능
이 모든 매개변수는 사용자 정의 위젯을 만드는 데 필요합니다.
- 마지막으로 my_dashboard_widget_display() 함수가 정의되고 "이것은 나의 첫 번째 사용자 정의 위젯입니다."라는 텍스트 콘텐츠를 포함합니다.
코드를 실행한 후 관리 대시보드로 이동하면 관리 대시보드 페이지 하단에 새로 생성된 위젯이 추가된 것을 볼 수 있습니다. 해당 위젯을 드래그하여 원하는 위치에 배치하기만 하면 됩니다.
산출:

사용자 지정 위젯의 위치를 변경하는 방법은 무엇입니까?
위 섹션에서는 WordPress 웹 사이트 대시보드에서 사용자 지정 위젯을 만들고 추가하는 데 도움이 되는 코드에 대해 설명했습니다.
분명히, 플러그인 사용자에게 '사용자 정의 대시보드 위젯'을 드래그하여 원하는 위치에 배치할 수 있는 기능을 제공하고 싶습니다.
불행히도 WordPress에는 기본 위젯을 미리 정렬할 수 있는 사용하기 쉬운 API가 제공되지 않습니다. 즉, 사용자 정의 위젯은 항상 대시보드 목록의 맨 아래에 표시됩니다.
그러나 모든 기본 위젯 위에 사용자 정의 위젯을 배치하려면 어떻게 해야 할까요? 코드를 만지작거리면 그렇게 할 수 있습니다.
이러한 목표를 달성하는 가장 좋은 방법은 메타박스의 내부 배열을 수동으로 변경하는 것입니다. 그런 다음 새로 만든 위젯을 위젯 목록 상단에 배치할 수 있습니다. 다음은 동일한 작업을 수행하는 코드입니다.
function first_custom_dashboard_widgets() {
wp_add_dashboard_widget( 'first_custom_dashboard_widget', 'First Custom Dashboard Widget', 'first_custom_dashboard_widget_function' );
// Globalize the array of the metaboxes, this will apply to all the widgets for wp-admin
global $wp_meta_boxes;
// Fetch array of the regular dashboard widgets
$normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
// Create a backup of the custom dashboard widget and delete it from the end of the array
$first_custom_widget_backup = array( 'first_custom_dashboard_widget' => $normal_dashboard['first_custom_dashboard_widget'] );
unset( $normal_dashboard['first_custom_dashboard_widget'] );
// Combine both the arrays together to put custom widget at the beginning
$sorted_dashboard = array_merge( $first_custom_widget_backup, $normal_dashboard );
// Save the value of sorted array back into the main metaboxes
$wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
}
이 코드는 위젯을 전혀 재정렬하지 않은 WordPress 사이트 소유자에게 적합합니다. 그러나 사용자가 이 기능을 수행하는 즉시 현재 기본 설정이 이를 무시합니다. 결과적으로 사용자는 위젯을 맨 위로 이동해야 합니다.
마무리
WordPress는 웹 사이트 관리 대시보드 기능을 확장하기 위한 여러 기본 위젯에 대한 액세스를 제공하지만 여전히 특정 요구 사항을 충족하지 못할 수 있습니다.
그러나 사용자 지정 위젯을 만들어 원하는 모든 목표를 달성하고 관리 대시보드를 더욱 유용하게 만들 수 있습니다. 결국 위젯은 추가 콘텐츠와 기능을 추가하는 훌륭한 방법을 제공합니다.
말할 필요도 없이 관리 대시보드에서 일부 작업을 수행하도록 맞춤화된 새 위젯을 만드는 것이 도움이 될 것입니다.
이 게시물이 사이트의 관리자 패널에서 사용자 지정 위젯을 만드는 방법을 더 잘 이해하는 데 도움이 되는 유용한 가이드가 되기를 바랍니다.
코딩 부분에 어려움이 있는 경우 프로젝트 완료를 도와줄 수 있는 WordPress 개발자를 고용하는 것이 좋습니다.
저자 약력:
Samuel Dawson은 Designs2html Ltd의 웹사이트 애플리케이션 개발자이자 파일 관리자입니다. 또한 HTML에서 WordPress 테마로의 변환도 성공적으로 수행하고 있습니다.
그는 WordPress 파일의 전반적인 처리를 동적으로 유지합니다. 위의 WordPress의 위젯 관리에 대한 기사는 그에 의해 기고되었습니다.