loop-settings.php 3.4 KB

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