Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Panda Pods Repeater Field

Repeater fields for Pods Framework. Adding a repeatable field on pages.

If you are using Pods Framework for your post types and data storage, you may want Pods to provide a repeater field like the Advance Custom Field (ACF) Repeater Field. Panda Pods Repeater Field offers you an alternative solution. It works like ACF Repeater Field, but also takes the advantage of Pods table storage, so you don’t need to worry that the posts and postmeta data table may expand dramatically and slow down the page loading. This plugin is compatible with Pods Framework 2.6.1 or later. To download Pods Framework, please visit http://pods.io/

Author Dongjie Xu
Profile
Contributors codingpanda
Tags pods, repeater field, storage
  1. panda-pods-repeater-field screenshot 1

    After the activation of Pods Framework, please also activate Advance Content Type and Table Storage in Pods Admin, under the Components section.

  2. panda-pods-repeater-field screenshot 2

    Activate Advance Content Type.

  3. panda-pods-repeater-field screenshot 3

    Activate Table Storage.

  4. panda-pods-repeater-field screenshot 4

    Here, you will learn how to use it through an example. First, we have to add a new Pod. In Pods, please click Create New.

  5. panda-pods-repeater-field screenshot 5

    and create a new Pod with Advance Content Type. In this tutorial, we call it "Comic Content"

  6. panda-pods-repeater-field screenshot 6

    We are going to use Comic Content as the storage of a repeater field.

  7. panda-pods-repeater-field screenshot 7

    Under the Admin UI tab, untick Show Admin Menu in Dashboard, because if you add an item to it, it is not linked to any parent posts.

  8. panda-pods-repeater-field screenshot 8

    Now we create a new post type in Pod. We name it "Comic" and we use Table Based storage, because we want to reduce the burden of the WordPress Posts table.

  9. panda-pods-repeater-field screenshot 9

    Once it has been created, we add a new field to Comic. We name it "Comic Box 1" here. At the bottom of the Field Type, you will find Pods Table As Repeater Field. Select it and then click the tab "Additional Field Options".

  10. panda-pods-repeater-field screenshot 10

    Now you can see a Pods Table "comiccontent" we just created in the combo box. Select it, add or update the field and save Pod. You can also set field width, defaulted to 25%.

  11. panda-pods-repeater-field screenshot 11

    If you are doing nested repeater fields, I recommend you set it to 100%. A sample of nested repeater fields.

  12. panda-pods-repeater-field screenshot 12

    OK, the set up is done. Now if you are adding a new Comic,

  13. panda-pods-repeater-field screenshot 13

    you will see "Comic Box 1" in the More Fields area.

  14. panda-pods-repeater-field screenshot 14

    You can add as many new items to Comic Box 1 as you want, and they are only attached to the current Comic you are editing .

  15. panda-pods-repeater-field screenshot 15

    You can click the left bar to expand the window, right bar to contract it.

  16. panda-pods-repeater-field screenshot 16

    To find the parent_pod_id and parent_pod_field_id, go to Pods and click the main Pod (Comics in this tutorial).

  17. panda-pods-repeater-field screenshot 17

    Here, 2215 is parent_pod_id and 2222 is parent_pod_field_id

  18. panda-pods-repeater-field screenshot 18

    To find the parent post id, open the main post and look at the URL. If you are using a Pods Adavnce Custom Type as the main table, it is the "id" variable in the URL.

  1. Upload the plugin files to the /wp-content/plugins/panda-pods-repeater-field directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the 'Plugins' screen in WordPress
  3. Use the Settings->Plugin Name screen to configure the plugin

1.0.1 - 23rd Sept 2016

  • Added: Added a filter to display item title

1.0.2 - 30rd Sept 2016

  • Added: Enable pandarf_items_fn to search id and name fileds
  • Added: Tell users to refresh pages after reordering

1.0.3 - 05th Oct 2016

  • Added: allow custom where query in pandarf_items_fn

1.0.4 - 06th Oct 2016

  • debug: update pandarf_parent_post_id to number only, it was string before

1.0.5 - 14th Oct 2016

  • debug: fixed the ordering for newly added items

1.0.6 - 21st Oct 2016

  • debug: fixed the problem on user profile page

1.0.7 - 28st Oct 2016

  • debug: fixed the problem when using it within Advance Custom Type

1.0.8 - 2nd Nov 2016

  • debug: fixed the problem when order by pandarf_order at the frontend, cast string as number

1.0.9 - 2nd Nov 2016

  • debug: changed time from h:i:s to H:i:s

How to use it?

Please see the screenshots for instructions.

How to fetch data at the frontend

You can use this API to fetch data: pandarf_items_fn( $fields_arr, $atts_arr, $showQuery_bln ). Please see the Screenshots section for how to find ids.

$fields_arr search repeater field table array( 'id' => '', // row id 'name' => '', // the common name field used by pods 'child_pod_name' => '', // repeater table name 'parent_pod_id' => '',// main table pod id 'parent_pod_post_id' => '', // main table post id 'parent_pod_field_id' => '', // main table pod Panda Pod Repeater Field id )

$atts_arr for some basic mySQL commands (Optional) array( 'where' => '', // exter where, expected to be escaped 'order' => 'ASC', 'order_by' => 'pandarf_order', 'group_by' => '', 'start' => 0, 'limit' => 0, 'count_only' => false, // if true, it will return the amount of rows in an array. )

$showQuery_bln If set to true, it will print out the sql command. For debugging purpose. Default to false.

An example of basic usage. IDs from the Screenshots section:

pandarf_items_fn( array( 'child_pod_name' => 'comic_item', 'parent_pod_id' => 2273, 'parent_pod_post_id' => 2275, 'parent_pod_field_id' => 2274 ) );

It will return the items attached to the post from Comic Contents.

How to insert data at the frontend

You can use this API to insert data: pandarf_insert_fn( $fields_arr, $prf_arr, $showQuery_bln ). Please see the screenshots for how to find ids.

$fields_arr extra fields other than panda repeater fields to insert: array( 'field_name' => '', 'field_name' => '' ... ... ) $prf_arr the default repeater fields array( 'child_pod_name' => '', // The name of the table for saving repeater field items. 'parent_pod_id' => '', // main table pod id 'parent_pod_post_id' => '', // main table post id 'parent_pod_field_id' => '', // main table Panda Pods Pod Repeater Field id 'user_id' => 0 // The author id )

$showQuery_bln If set to true, it will print out the sql command. For debugging purpose. Default to false.

An example of basic usage. IDs from the Screenshots section: $id_int = pandarf_insert_fn( array( 'name' => "hello panda" ), array( 'child_pod_name' => 'comic_item', 'parent_pod_id' => 2273, 'parent_pod_post_id' => 2275, 'parent_pod_field_id' => 2274, 'user_id' => $current_user->ID ) );

Share  
Download
Version 1.0.9

Requires WordPress version: 3.8 or higher

Compatible up to: 4.7.2

Last Updated 18 Dec 2016

Date Added: 22 Oct 2016

Plugin Homepage

Evaluation
star1
star2
star3
star4
star5

5 stars
2 ratings
291 downloads

Compatibility

Not Enough Data

Reports:
Works: 0
Broken: 0