it-swarm-ko.tech

최종 사용자를 위해 시각적으로 "사용자 정의 게시 유형"을 정렬합니다.

예를 들어 고객이 맞춤형 포스트 유형 "셔츠"로 100 개의 티셔츠를 가지고 있으며 출현 순서를 설정하려고하는 경우와 같이 날짜순으로 정리할 필요가없는 맞춤 게시물 유형 및 기타 콘텐츠 비트가있는 경우 .

당신이 사이트의 편집자/관리자에게 그들의 순서를 정렬시키기 위해 취하는 것을 제안하는 접근 방법은 무엇입니까?

8
Amit

나는 다음과 같이 제안 할 수있다.

http://drewgourley.com/order-up-custom-ordering-for-wordpress/

1
Drew Gourley

분류학에 대해 필터링 할 수 있습니다.

        // to filter by category
    function restrict_manage_posts() {
        global $typenow;

        if ( FB_CPT_POST_TYPE_1 == $typenow ) {
            $args = array('orderby' => 'count', 'hide_empty' => true);
            echo $this->get_taxonomy_html_select(FB_CPT_TAXONOMY_TYPE_1, $args);
        }
    }

    function get_taxonomy_html_select($taxonomy_name, $args) {

        $taxonomy = get_taxonomy($taxonomy_name);
        $terms = get_terms($taxonomy_name, $args);
        $label = __( 'Show all ' . $taxonomy->label, FB_CPT_TEXTDOMAIN );
        $html = array();
        $html[] = '<select style="min-width:155px;" id="' . $taxonomy_name . '" name="' . $taxonomy_name . '" class="postform">';
        $html[] = '<option value="0">' . $label . '</option>';
        if ( isset($_GET[$taxonomy_name]) )
            $this_term = $_GET[$taxonomy_name];
        else
            $this_term = '';
        foreach($terms as $term) {
            $default = ( $this_term == $term->term_id ? ' selected="selected"' : '' );
            $value = esc_attr($term->name);
            $value = $value . '&nbsp;&nbsp;(' . (int)$term->count . ')';
            $html[] = "\t" . '<option value="' . $term->term_id . '"' . $default . '>' . $value . '</option>';
        }
        $html[] = '</select>' . "\n";
        return implode( "\n", $html );
    }

    function request($request) {
        global $pagenow;

        if ( is_admin() && 'edit.php' == $pagenow && isset( $request[FB_CPT_TAXONOMY_TYPE_1] ) && FB_CPT_POST_TYPE_1 == $request[FB_CPT_TAXONOMY_TYPE_1] ) {
            $request['taxonomy'] = FB_CPT_TAXONOMY_TYPE_1;
            $request['term'] = get_term($request[FB_CPT_TAXONOMY_TYPE_1], FB_CPT_TAXONOMY_TYPE_1)->name;
            unset($request['name']);
        }

        return $request;
    }

이 훅 사용

            // to filter custom post type per custom taxonomy
        add_action( 'restrict_manage_posts', array( &$this, 'restrict_manage_posts') );
        add_action( 'request', array( &$this, 'request' ) );
3
bueltge

메뉴 생성기 관리 화면을 살펴 보겠습니다. 메뉴는 사용자 정의 게시 유형이기 때문에 그 중 일부는 영감으로 사용될 수 있습니다.

0
Vid Luther

모두 "셔츠"에 대한 위치를 설정하기 만하면 메뉴 순서를 사용자가 선택하는 것이 아니라 WP_Query에서 menu_order로 정렬 할 수 있습니다. 게시물의 menu_order 속성을 설정하는 메타 상자를 만들어야 할 것입니다. WP_Query 다음 :

$shirts = new WP_Query( 'post_type=shirt&orderby=menu_order&order=ASC' );

이것은 Media Upload 갤러리 탭에서 페이지 순서를 설정하는 것과 비슷하게 작동합니다.

아니면 내가 오해하고있는 것입니까?

0
Joe Hoyle

플러그인 또는 코드에서 포스트 유형을 작성하는 경우 선호하는 것은이 코드를 추가하는 것입니다.이 코드를 사용하면 프론트 엔드 및 백엔드에 대한 기본 순서를 설정할 수 있으며 GET 변수를 admin으로 설정할 수 있습니다. WordPress 관리자가 변경 사항을 인식하고 제목, 날짜 또는 관리 테이블에 표시되는 항목별로 정렬하는 경우 화살표를 위로 올려 놓습니다.

add_filter( 'pre_get_posts' , 'my_cpt_order' ); // Runs before the posts are fetched
function my_cpt_order( $query ) {
    // Check query and alter only the query needed
    //echo '<PRE>'; print_r($query); echo '</PRE>'; 
    if ($query->query['post_type'] == 'cpt' && !isset($query->query['orderby'])) {
        $query->set( 'orderby' , 'title' );
        $query->set( 'order' , 'asc' );
        //get the arrow to show up over title in admin
        if (is_admin()) {
            $_GET['orderby'] = 'title';
            $_GET['order'] = 'asc';
        }
    } //if
} //my_cpt_order

Menu_order가 기본값이므로 menu_order로 사용자 정의 게시물 유형을 정렬하는 경우에는 필요하지 않지만 사용자가 자신을 정렬하는 것에 대해 걱정할 필요가 없으며 제목과 같은 것을 사용하려는 게시물 유형 인 경우 , 그것은 매우 편리합니다.

0
Andrew T

게시물 필드와 완전히 관련이없는 진정으로 임의의 정렬 순서를 사용하려면 "정렬 값"(또는 "가중치") 필드를 만들고 해당 필드의 각 항목에 숫자 값을 입력해야합니다. 그런 다음 해당 필드를 정렬 할 수 있습니다.

0
WhIteSidE