這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

Gnarly Frontend Page Sort

外掛說明

Gives user the ability to order sub-pages on the parent page from the frontend of WordPress.

There are some backend plugins that do this, but I recently had a project that had about 30 parent pages, and those had sub-pages, and the sub-pages had sub-pages. We needed to find an alternative solution on the frontend because the majority of the plugins were drag and drop on the admin screen. This fixed this problem.

安裝方式

This is the code I used to list the child pages on a parent page. I changed the sort_column to menu_order instead of the default post_title, and the sort_order is asc.

<?php

    global $post;

    $args = array(          
        'hierarchical'  => 0,                       
        'child_of'      => 0,
        'parent'        => $post->ID,           
        'number'        => '',
        'sort_order'    =>  'asc',
        'sort_column'   =>  'menu_order'
    );

    $child_pages = get_pages( $args );  
?>

With the Child pages, I then created a custom loop (an example will be included later on in a separate file. I made 2 functions to spit out the pages of the parent page). From there I can add the gnarly tags to the parent container and the child items.

When you install the plugin, just find the template that controls your pages loop and make the following modifications. This example uses Twenty-Fourteen as an example.

<div role="main" class="site-content" id="content" data-gnarly-sort='true'>

    <article data-gnarly-id="58" class="page-58 page" id="page-58">
        <div class="entry-content">
            <h2>Your Page Title</h2>
        </div>
        <!-- .entry-content -->
    </article>
    <!-- #page-## -->    

    <article data-gnarly-id="57" class="page-57 page" id="page-57">
        <div class="entry-content">
            <h2>Your Page Title</h2>
        </div>
        <!-- .entry-content -->
    </article>
    <!-- #page-## -->    

    <article data-gnarly-id="56" class="page-56 page" id="page-56">
        <div class="entry-content">
            <h2>Your Page Title</h2>
        </div>
        <!-- .entry-content -->
    </article>
    <!-- #page-## -->    

    <article data-gnarly-id="55" class="page-55 page" id="page-55">
        <div class="entry-content">
            <h2>Your Page Title</h2>
        </div>
        <!-- .entry-content -->
    </article>
    <!-- #page-## -->    

</div>

Notice the following code

<div role="main" class="site-content" id="content" data-gnarly-sort="true">

The data-gnarly-sort=’true’ attribute tag. This tells the plug-in that it is the parent element of the sorter.

On each of the pages that get spit out, you must include the data-gnarly-id=”58″ in order to tell the sorter that it is a page item that will be drag and drop sorted using the page ID. This attribute is important because it tells wordpress what position it’s in when you drag and drop each element by using the page ID. You can echo out the page ID by using the following PHP pre in the loop.

<article data-gnarly-id="<?php the_ID(); ?>" class="page-58 page" id="page-58"> 

Minimum Requirements

  • WordPress 3.9 or greater
  • PHP version 5.2.4 or greater
  • MySQL version 5.0 or greater

常見問題集

I installed the plugin, I don’t know what to do.

Please follow the instructions in the readme.txt file in order to set up the plugin correctly. Everyone’s themes are different, and I am currently working on a better solution to specify the parent and child elements

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈Gnarly Frontend Page Sort〉的開發相關工作。

參與者

將〈Gnarly Frontend Page Sort〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.0

  • Updated admin check in plugins main file

1.0.0 – 06/24/2014

  • Initial Release