WordPress 관리 테이블 사용자 정의: 고급 수정

게시 됨: 2021-01-26

WordPress 관리 테이블 사용자 정의에 대한 시리즈의 첫 번째 기사에서 사용자 정의 열을 추가하고 정렬 가능하게 만드는 것을 포함하여 게시물 유형 관리 화면에 몇 가지 기본 구성을 적용하는 방법을 살펴보았습니다.

오늘 우리는 한 걸음 더 나아가 게시물 목록 관리 테이블에 적용할 수 있는 몇 가지 추가 수정 사항을 살펴보겠습니다. 가자!

WordPress 관리 게시물 테이블 향상

백엔드 사용자를 위해 관리 테이블 화면에 추가 정보를 제공하면 워크플로 경험이 확실히 향상됩니다. 이 튜토리얼에서는 정보를 추가하고, 기존 콘텐츠를 수정하고, 열을 재정렬하고, 불필요한 테이블 열을 제거하여 Post Admin Table에 표시되는 데이터를 개선하는 것을 목표로 합니다.

추천 이미지 표시

관리 테이블의 게시물 목록에 추천 썸네일을 추가하면 정말 유용할 것입니다. 이렇게 하면 각 개별 게시물을 열지 않고도 게시물에 잘못된 이미지가 있는지(또는 이미지가 전혀 없는지) 확인할 수 있는 기능이 정말 빨라집니다.

이를 달성하기 위해 편집 게시물 페이지에 대한 추천 이미지 열을 만들고 이미지 축소판으로 채웁니다. 이전 기사에서 볼 수 있듯이, 우리는 manage_posts_columns 를 사용할 것입니다. 이 기사를 아직 읽지 않았다면 이 튜토리얼에 필요한 일부 코드가 포함되어 있으므로 읽으십시오.

기사를 읽고 따라했다면 활성 테마의 functions.php 파일에 다음 코드가 있어야 합니다. 없다면 추가해주세요!

 add_filter('manage_posts_columns','add_custom_columns'); function add_custom_columns( $columns ) { $columns['last_modified'] = 'Last modified'; return $columns; } add_action( 'manage_posts_custom_column','custom_columns_content', 10, 2 ); function custom_columns_content ( $column_id, $post_id ) { switch( $column_id ) { case 'last_modified': echo get_post_field('post_modified', $post_id); break; } }

관리 테이블에 추천 이미지를 표시하려면 이 코드를 다음과 같이 편집해야 합니다.

 add_filter('manage_posts_columns','add_custom_columns'); function add_custom_columns( $columns ) { $columns['last_modified'] = 'Last modified'; $columns['my_post_thumbs'] = 'Thumbs'; return $columns; } add_action( 'manage_posts_custom_column','custom_columns_content', 10, 2 ); function custom_columns_content ( $column_id, $post_id ) { switch( $column_id ) { case 'last_modified': echo get_post_field('post_modified', $post_id); break; case 'my_post_thumbs': echo the_post_thumbnail( 'thumbnail' ); break; } }

세 번째와 네 번째 인수의 숫자 10과 2는 이 작업과 관련된 기능이 처리되는 우선 순위를 나타냅니다. 이러한 인수는 custom_columns_content 함수에 전달됩니다.

우선 순위의 기본값은 10입니다. 숫자 2는 함수 인수의 양을 나타냅니다. 따라서 우리의 경우 $column_id$post_id 라는 2개의 인수가 있으므로 이 숫자를 포함하는 것이 중요합니다.

이제 이 코드를 저장하고 관리자 게시물 화면에 무엇이 있는지 봅시다.

WordPress 관리 테이블 추천 이미지

보시다시피 이제 'Last Modified' 열과 새로운 'Thumbs' 열이 있습니다.

열 레이블 변경

예를 들어 '작성자' 열의 이름을 '작성자'로 변경하는 등 어떤 이유로 열의 레이블을 변경하고 싶다고 가정합니다. 이를 위해 사용자 정의 열을 추가한 것과 동일한 방식으로 새 레이블을 정의하면 됩니다. 다시 한 번, 코드를 더 구별하기 위해 다른 기능을 사용하여 이름 바꾸기 코드 조각을 분리합니다.

 add_filter('manage_posts_columns','rename_columns'); function rename_columns( $columns ) { $columns['author'] = 'Writer'; return $columns; }

물론 $columns['COLUMN_ID'] = 'NEW_LABEL'; return $columns;

WordPress 관리 페이지 표 향상

당신은 이것을 알지 못할 수도 있지만 WordPress 페이지는 각 페이지에 상위 페이지가 있을 수 있음을 의미하는 계층적 게시물 유형입니다.

어떤 페이지가 모든 자식 페이지의 부모 페이지인지 한 눈에 보는 것은 정말 도움이 될 것입니다. 이 작업을 수행하는 방법을 살펴보겠습니다.

상위 게시물을 표시하는 사용자 정의 열 추가

먼저 일부 관련 추천 이미지가 포함된 일부 상위 및 하위 페이지를 만들었습니다.

WordPress 관리 테이블 상위 및 하위 게시물

다음으로 우리의 functions.php 파일에 코드를 넣을 것입니다. 우리는 '조상' 열이라고 부를 항목을 추가하는 것과 관련하여 Posts 유형에서 수행한 것과 동일한 프로세스를 따를 것입니다.

 add_filter('manage_pages_columns','add_ancestor_column'); function add_ancestor_column( $columns ) { $columns['ancestor'] = 'Ancestor'; return $columns; }

테이블의 원하는 위치에 열을 배치하는 경우에도 마찬가지입니다. 테이블의 열을 재정렬하여 'Ancestor' 열이 Author 열보다 먼저 오도록 합니다.

 add_filter('manage_pages_columns', 'change_ancestor_column_position'); function change_ancestor_column_position($columns) { $n_columns = array(); foreach($columns as $key => $value) { if ($key=='author'){ $n_columns['ancestor'] = 'ancestor'; } $n_columns[$key] = $value; } return $n_columns; }

이 시점에서 페이지 관리 화면에 다음과 같은 내용이 표시되어야 합니다.

마지막으로 해야 할 일은 'Ancestor' 열을 올바른 내용으로 채우는 것입니다. 이번에는 계층적 게시물 유형으로 작업하기 때문에 열 콘텐츠를 가져오기 위해 다른 후크를 사용합니다. 이 코드를 삽입하고 결과를 확인하십시오.

 add_action( 'manage_pages_custom_column','ancestor_column_content', 10, 2 ); function ancestor_column_content ( $column_id, $post_id ) { switch( $column_id ) { case 'ancestor': $ancestors = get_ancestors($post_id, 'subject', 'post_type'); $post_ancestor = end($ancestors); if ($post_ancestor != 0) { echo '<a href="' . get_edit_post_link($post_ancestor) . '">' . get_the_title($post_ancestor) . '</a>'; } else { echo '-'; } break; } }

이제 '상위' 열에 나열된 하위 페이지와 함께 연결된 상위 페이지가 표시되어야 합니다.

이것은 관리 테이블의 페이지 순서가 중단되어(예: 게시 날짜 등으로 정렬되어 있기 때문에) 하위 페이지가 더 이상 해당 상위 페이지 아래에 깔끔하게 표시되지 않는 경우에 특히 유용합니다.

기본 열 변경

기본 관리 테이블 열을 개선하기 위해 수행할 수 있는 몇 가지 작업이 있습니다. 이 중 몇 가지를 살펴보겠습니다.

열 재정렬

관리 테이블 사용자 지정에 대한 이전 기사에서 게시물이 마지막으로 수정된 날짜를 표시하는 새 열을 추가했습니다. 그러나 열 순서에서 위치를 변경하려면 어떻게 해야 할까요?

이것은 다행스럽게도 매우 쉽고 manage_posts_columns 후크를 사용하여 구현할 수 있습니다.

정의해야 하는 것은 이동해야 하는 열과 열을 배치할 위치 바로 앞의 열입니다. 따라서 예를 들어 피쳐 이미지를 첫 번째 테이블 열로 원하면 제목 열 앞으로 이동해야 합니다. 해당 조각 코드는 다음과 같아야 합니다.

 add_filter('manage_posts_columns', 'change_column_order'); function change_column_order($columns) { $n_columns = array(); $move = 'author'; // what to move $before = 'title'; // move before this foreach($columns as $key => $value) { if ($key==$before){ $n_columns[$move] = $move; } $n_columns[$key] = $value; } return $n_columns; }

그리고 짜잔!

WordPress 관리 테이블에 추천 이미지 추가

열 제거

때때로 게시물 목록 테이블의 일부 열은 실제로 특히 유용하지 않으며 공간을 확보하기 위해 제거하는 것이 좋습니다. 이에 대한 일반적인 후보는 주석 열입니다.

다행히 테이블에서 열을 제거하는 것은 매우 쉽습니다. unset($columns['comments']); manage_posts_columns 후크의 기능에서. 이것은 기존 코드에 추가할 수 있지만 다른 목적을 갖고 후크에 새 기능을 도입하기 때문에 이것을 자체 코드 조각으로 분리할 수 있다면 더 깔끔합니다.

 add_filter('manage_posts_columns' , 'remove_columns'); function remove_columns($columns) { unset($columns['comments']); return $columns; }

그리고 그게 다야. 관리 화면을 새로 고치면 댓글 열이 사라진 것을 볼 수 있습니다.

참고: 열의 ID가 무엇인지 확실하지 않은 경우 브라우저의 검사기 콘솔을 사용하여 이를 감지할 수 있습니다.

관리 열 플러그인

WordPress Admin Tables에 대한 변경 사항을 코딩하고 싶지 않다면 두려워하지 마십시오... WordPress에는 코드 한 줄을 건드릴 필요 없이 여러 업데이트를 수행할 수 있는 플러그인이 있습니다. 관리 열이라고 합니다.

참고: 플러그인 설치/활성화를 진행하기 전에 게시물 목록 테이블의 모든 사용자 정의(만든 경우)를 되돌리고 초기 상태의 관리 게시물 테이블과 함께 플러그인 사용을 시작하는 것이 좋습니다.

플러그인을 다운로드하고 설치했으면 설정 > 관리 열 메뉴 항목으로 이동합니다. 여기에서 드롭다운 목록에서 게시물 목록 테이블(또는 관리 테이블을 편집할 수 있는 기능을 원하는 다른 게시물 유형)을 선택할 수 있습니다. 그러면 현재 테이블 구조가 표시됩니다.

이제 끌어서 놓기 인터페이스를 사용하여 열을 쉽게 재정렬할 수 있습니다. 화살표 아이콘을 사용하여 해당 구성을 확인하여 유형 레이블 및 너비를 편집할 수도 있습니다.

그리고 오른쪽 하단의 '열 추가' 버튼을 사용하여 자신만의 열을 추가할 수도 있습니다!

플러그인이 여기서 실제로 하는 일은 Post 유형과 관련된 데이터베이스 테이블에서 사용 가능한 모든 옵션을 수집하고 유형 드롭다운 메뉴를 제공하는 것입니다. 예를 들어 이전처럼 '최종 수정' 열을 추가하려면 유형 목록에서 찾아 선택한 다음 레이블과 원하는 너비를 지정하면 됩니다.

그런 다음 원하는 경우 표시되는 날짜 형식 옵션을 변경할 수 있습니다.

결론

WordPress Admin Tables에 대한 올바른 정보가 있으면 워크플로 속도를 높이고 웹사이트의 오류를 방지하는 데 도움이 됩니다. 예를 들어 게시물 관리 테이블에서 모든 게시물과 관련 추천 이미지를 한 눈에 볼 수 있을 때 추천 이미지 없이 고의로 게시물을 게시할 가능성은 훨씬 적습니다. 플레이하고 귀하와 귀하의 워크플로에 맞게 관리자 테이블을 설정하십시오.