loop-settings.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. FLBuilderModel::default_settings($settings, array(
  3. 'post_type' => 'jetpack-testimonial',
  4. 'order_by' => 'menu_order',
  5. 'order' => 'ASC',
  6. 'offset' => 0,
  7. 'users' => '',
  8. 'posts_per_page' => -1,
  9. ));
  10. ?>
  11. <div id="fl-builder-settings-section-general" class="fl-loop-builder fl-builder-settings-section">
  12. <table class="fl-form-table">
  13. <?php
  14. // Order by
  15. FLBuilder::render_settings_field('posts_per_page', array(
  16. 'type' => 'text',
  17. 'label' => __( 'Per Page', 'fl-builder' ),
  18. 'default' => -1,
  19. 'min' => -1,
  20. ), $settings);
  21. // Order by
  22. FLBuilder::render_settings_field('order_by', array(
  23. 'type' => 'select',
  24. 'label' => __( 'Order By', 'fl-builder' ),
  25. 'options' => array(
  26. 'ID' => __( 'ID', 'fl-builder' ),
  27. 'date' => __( 'Date', 'fl-builder' ),
  28. 'modified' => __( 'Date Last Modified', 'fl-builder' ),
  29. 'title' => __( 'Title', 'fl-builder' ),
  30. 'author' => __( 'Author', 'fl-builder' ),
  31. 'comment_count' => __( 'Comment Count', 'fl-builder' ),
  32. 'menu_order' => __( 'Menu Order', 'fl-builder' ),
  33. 'rand' => __( 'Random', 'fl-builder' ),
  34. ),
  35. ), $settings);
  36. // Order
  37. FLBuilder::render_settings_field('order', array(
  38. 'type' => 'select',
  39. 'label' => __( 'Order', 'fl-builder' ),
  40. 'options' => array(
  41. 'DESC' => __( 'Descending', 'fl-builder' ),
  42. 'ASC' => __( 'Ascending', 'fl-builder' ),
  43. ),
  44. ), $settings);
  45. // Offset
  46. FLBuilder::render_settings_field('offset', array(
  47. 'type' => 'text',
  48. 'label' => _x( 'Offset', 'How many posts to skip.', 'fl-builder' ),
  49. 'default' => '0',
  50. 'size' => '4',
  51. 'help' => __( 'Skip this many posts that match the specified criteria.', 'fl-builder' ),
  52. ), $settings);
  53. ?>
  54. </table>
  55. </div>
  56. <div id="fl-builder-settings-section-filter" class="fl-builder-settings-section">
  57. <h3 class="fl-builder-settings-title"><?php esc_html_e( 'Filter', 'fl-builder' ); ?></h3>
  58. <?php foreach ( FLBuilderLoop::post_types() as $slug => $type ) : ?>
  59. <table class="fl-form-table fl-loop-builder-filter fl-loop-builder-<?php echo esc_attr( $slug ) ?>-filter" <?php if ( $slug == $settings->post_type ) echo 'style="display:table;"'; ?>>
  60. <?php
  61. // Posts
  62. FLBuilder::render_settings_field('posts_' . $slug, array(
  63. 'type' => 'suggest',
  64. 'action' => 'fl_as_posts',
  65. 'data' => $slug,
  66. 'label' => $type->label,
  67. 'help' => sprintf( __( 'Enter a list of %1$s. Only these %2$s will be shown.', 'fl-builder' ), $type->label, $type->label ),
  68. ), $settings);
  69. // Taxonomies
  70. $taxonomies = FLBuilderLoop::taxonomies( $slug );
  71. foreach ( $taxonomies as $tax_slug => $tax ) {
  72. FLBuilder::render_settings_field('tax_' . $slug . '_' . $tax_slug, array(
  73. 'type' => 'suggest',
  74. 'action' => 'fl_as_terms',
  75. 'data' => $tax_slug,
  76. 'label' => $tax->label,
  77. 'help' => sprintf( __( 'Enter a list of %1$s. Only posts with these %2$s will be shown.', 'fl-builder' ), $tax->label, $tax->label ),
  78. ), $settings);
  79. }
  80. ?>
  81. </table>
  82. <?php endforeach; ?>
  83. <table class="fl-form-table">
  84. <?php
  85. // Author
  86. FLBuilder::render_settings_field('users', array(
  87. 'type' => 'suggest',
  88. 'action' => 'fl_as_users',
  89. 'label' => __( 'Authors', 'fl-builder' ),
  90. 'help' => __( 'Enter a list of authors usernames. Only posts with these authors will be shown.', 'fl-builder' ),
  91. ), $settings);
  92. ?>
  93. </table>
  94. </div>