Claudio Simeone의 최근 게시물에서 그는 게시물에 추가 열을 추가하는 방법, 게시물 유형, 관리 화면을 사용자 정의하는 방법(또는 기존 항목을 삭제하는 방법)을 시연했습니다. 이 빠른 팁에서는 이를 토대로 새로 생성된 열을 정렬 가능하게 만드는 방법을 보여 드리겠습니다.
정렬 가능으로 등록하려는 열을 WordPress에 알리려면 다음 필터가 필요합니다.
으아악게시물과 페이지의 경우 $screen->id
는 각각 "edit-post" 및 "edit-page"입니다. 일반적으로 "my-post-type"이라는 게시물 유형의 경우 "edit-my-post-type"입니다.
필터에는 정렬 가능한 열의 이름이 키로, 정렬 기준이 값으로 포함된 배열이 전달됩니다. 보다 정확하게는 이러한 값은 테이블을 채우는 쿼리에 "orderby
" 매개변수가 설정되어 있음을 나타냅니다. 열을 제거하는 것과 마찬가지로 이 배열에서 열을 제거하여 "정렬할 수 없게" 만들 수도 있습니다. 예를 살펴보겠습니다:
Claudio의 기사에 따르면 "Cake" 게시물 유형에 "Slice" 열을 추가했다고 가정하면 다음을 수행할 수 있습니다.
으아악열에 다음 내용을 추가했습니다.
으아악조각을 메타데이터로 저장했지만 열은 다른 데이터로 채워질 수 있습니다.
이제 사용자 정의 열을 "정렬 가능"으로 등록합니다. 위에서 언급했듯이 manage_{$screen->id}_sortable_column
필터를 사용합니다. 이 경우 manage_{$screen->id}_sortable_column
过滤器。本例中的 $screen->id
는 "edit-cake"입니다.
$columns
배열의 키는 정렬 가능한 열을 나타내며 해당 값은 쿼리에서 '$columns
数组的键表示可排序列,其值告诉 WordPress 在查询中将 'orderby
' 设置为什么。如果该值是 WordPress 本身理解的 'orderby
之一(这些值包括 'title
'、'date
'、'modified
'、'comment_count
',或者确实是下面列出的任何其他值WordPress Codex 中的 WP_Query)我们可以到此为止。此规则的例外情况(如本例所示)是 'meta_value
' 和 'meta_value_num
'을 무엇으로 설정할지 WordPress에 알려줍니다. 값이 WordPress 자체에서 인식하는 '
제목
', '날짜
', '수정됨
포함) ', ' comment_count
' 또는 실제로 WordPress Codex의 WP_Query에 대해 아래에 나열된 다른 값) 거기서 멈출 수 있습니다. 이 예에 표시된 대로 이 규칙의 예외는 'meta_value_num
' 및 'meta_value_num
' 매개변수이며, 이 매개변수에도 메타키를 설정해야 합니다.
pre_get_posts
操作。这传递了一个我们可以修改的查询对象。请注意,所有默认查询(正面和背面)都会触发此操作。虽然它不太可能引起任何问题,但除非您希望 WordPress 在前端也将 orderby
메타 값을 기준으로 정렬하거나 WordPress가 자동으로 이해하지 못하는 다른 방법을 사용하여 정렬하려면 “슬라이스” 정렬이 무엇을 의미하는지 알려주어야 합니다. 포스트 메타를 통해 주문하는 경우 가장 쉬운 방법은 pre_get_posts
작업에 연결하는 것입니다. 이는 수정할 수 있는 쿼리 개체를 전달합니다. 모든 기본 쿼리(앞면 및 뒷면)가 이 작업을 트리거합니다. 문제가 발생할 가능성은 낮지만 WordPress가 프런트 엔드에서도
으아악
meta_value
' 而不是 'meta_value_num
이것은 쿼리가 "슬라이스"로 정렬되어 있는지 확인하고, 그렇다면 WordPress에 "슬라이스" 게시물 메타 값을 기준으로 숫자로 정렬하도록 지시합니다. 값을 알파벳순으로 정렬하려면 '
$query
是一个 WP_Query
对象,因此您可以使用该对象对任何内容进行排序,您也可以对列进行排序。对于其他更复杂的事情,您需要挂钩 posts_orderby
(或 post_clauses
참고:
게시물에 해당 메타 키 값이 저장되지 않은 경우 해당 메타 키를 기준으로 정렬하면 해당 게시물이 표시되지 않습니다. 이는 메타값으로 0을 저장하는 게시물과 다릅니다. 🎜위 내용은 빠른 팁: 정렬 가능한 사용자 정의 열 활성화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!