Нет описания

integrations.php 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. /**
  3. * Register and setup WPForms as a Visual Composer element.
  4. *
  5. * @since 1.3.0
  6. */
  7. function wpforms_visual_composer_shortcode() {
  8. if ( ! is_user_logged_in() ) {
  9. return;
  10. }
  11. $wpf = wpforms()->form->get(
  12. '',
  13. array(
  14. 'orderby' => 'title',
  15. )
  16. );
  17. if ( ! empty( $wpf ) ) {
  18. $forms = array(
  19. esc_html__( 'Select a form to display', 'wpforms-lite' ) => '',
  20. );
  21. foreach ( $wpf as $form ) {
  22. $forms[ $form->post_title ] = $form->ID;
  23. }
  24. } else {
  25. $forms = array(
  26. esc_html__( 'No forms found', 'wpforms-lite' ) => '',
  27. );
  28. }
  29. vc_map(
  30. array(
  31. 'name' => esc_html__( 'WPForms', 'wpforms-lite' ),
  32. 'base' => 'wpforms',
  33. 'icon' => WPFORMS_PLUGIN_URL . 'assets/images/sullie-vc.png',
  34. 'category' => esc_html__( 'Content', 'wpforms-lite' ),
  35. 'description' => esc_html__( 'Add your form', 'wpforms-lite' ),
  36. 'params' => array(
  37. array(
  38. 'type' => 'dropdown',
  39. 'heading' => esc_html__( 'Form', 'wpforms-lite' ),
  40. 'param_name' => 'id',
  41. 'value' => $forms,
  42. 'save_always' => true,
  43. 'description' => esc_html__( 'Select a form to add it to your post or page.', 'wpforms-lite' ),
  44. 'admin_label' => true,
  45. ),
  46. array(
  47. 'type' => 'dropdown',
  48. 'heading' => esc_html__( 'Display Form Name', 'wpforms-lite' ),
  49. 'param_name' => 'title',
  50. 'value' => array(
  51. esc_html__( 'No', 'wpforms-lite' ) => 'false',
  52. esc_html__( 'Yes', 'wpforms-lite' ) => 'true',
  53. ),
  54. 'save_always' => true,
  55. 'description' => esc_html__( 'Would you like to display the forms name?', 'wpforms-lite' ),
  56. 'dependency' => array(
  57. 'element' => 'id',
  58. 'not_empty' => true,
  59. ),
  60. ),
  61. array(
  62. 'type' => 'dropdown',
  63. 'heading' => esc_html__( 'Display Form Description', 'wpforms-lite' ),
  64. 'param_name' => 'description',
  65. 'value' => array(
  66. esc_html__( 'No', 'wpforms-lite' ) => 'false',
  67. esc_html__( 'Yes', 'wpforms-lite' ) => 'true',
  68. ),
  69. 'save_always' => true,
  70. 'description' => esc_html__( 'Would you like to display the form description?', 'wpforms-lite' ),
  71. 'dependency' => array(
  72. 'element' => 'id',
  73. 'not_empty' => true,
  74. ),
  75. ),
  76. ),
  77. )
  78. );
  79. }
  80. add_action( 'vc_before_init', 'wpforms_visual_composer_shortcode' );
  81. /**
  82. * Load our basic CSS when in Visual Composer's frontend editor.
  83. *
  84. * @since 1.3.0
  85. */
  86. function wpforms_visual_composer_shortcode_css() {
  87. // Load CSS per global setting.
  88. if ( wpforms_setting( 'disable-css', '1' ) === '1' ) {
  89. wp_enqueue_style(
  90. 'wpforms-full',
  91. WPFORMS_PLUGIN_URL . 'assets/css/wpforms-full.css',
  92. array(),
  93. WPFORMS_VERSION
  94. );
  95. }
  96. if ( wpforms_setting( 'disable-css', '1' ) === '2' ) {
  97. wp_enqueue_style(
  98. 'wpforms-base',
  99. WPFORMS_PLUGIN_URL . 'assets/css/wpforms-base.css',
  100. array(),
  101. WPFORMS_VERSION
  102. );
  103. }
  104. }
  105. add_action( 'vc_load_iframe_jscss', 'wpforms_visual_composer_shortcode_css' );