芝麻web文件管理V1.00
编辑当前文件:/home/royashxg/www/wp-content/plugins/fluentformpro/src/Components/Post/Bootstrap.php
isEnabled(); add_filter('fluentform/global_addons', function ($addons) use ($isEnabled) { $app = wpFluentForm(); $addons['postFeeds'] = [ 'title' => __('Post/CPT Creation', 'fluentformpro'), 'category' => 'wp_core', 'description' => __('Create post/any cpt on form submission. It will enable many new features including dedicated post fields', 'fluentformpro'), 'logo' => fluentFormMix('img/integrations/post-creation.png'), 'enabled' => ($isEnabled) ? 'yes' : 'no' ]; return $addons; }); if (!$isEnabled) { return; } $this->registerHooks(); $this->registerPostFields(); } protected function registerHooks() { add_filter('fluentform/all_forms_vars', function ($settings) { $settings['has_post_feature'] = true; return $settings; }); add_filter('fluentform/response_render_taxonomy', [$this, 'formatResponse'], 10, 4); $editorSettings = new EditorSettings; add_action('fluentform/inserted_new_form', [ $editorSettings, 'onNewFormCreated' ]); add_filter('fluentform/editor_components', [ $editorSettings, 'registerEditorTaxonomyFields' ], 10, 2); add_filter('fluentform/editor_element_settings_placement', [ $editorSettings, 'elementPlacementSettings' ]); add_filter('fluentform/form_settings_menu', [ $editorSettings, 'registerPostFormSettingsMenu' ], 10, 2); $postFormHandler = new PostFormHandler; add_filter('fluentform/smartcode_group_post', [ $postFormHandler, 'parsePostShortCodes' ], 10, 2); add_action('fluentform/render_item_taxonomy', [ $postFormHandler, 'renderTaxonomyFields' ], 10, 2); add_action('fluentform/submission_inserted_post_form', [ $postFormHandler, 'onFormSubmissionInserted' ], 10, 3); add_action('fluentform/form_element_start', [ $postFormHandler, 'maybeRenderPostSelectionField' ], 10, 3); $postFormPopulate = new PopulatePostForm; add_action('wp_ajax_fluentformpro_get_post_details', [$postFormPopulate, 'getPostDetails']); add_action('wp_ajax_nopriv_fluentformpro_get_post_details', [$postFormPopulate, 'getPostDetails']); add_filter('fluentform/all_editor_shortcodes', function ($shortCodes) { $shortCodes[] = [ 'title' => __('Post', 'fluentformpro'), 'shortcodes' => [ '{post.ID}' => 'Post ID', '{post.post_title}' => 'Post Title', '{post.post_permalink}' => 'Post Permalink' ] ]; return $shortCodes; }); } protected function registerPostFields() { new \FluentFormPro\Components\Post\Components\PostTitle; new \FluentFormPro\Components\Post\Components\PostContent('post_content', 'Post Content', ['content', 'post_content', 'post', 'editor'], 'post'); new \FluentFormPro\Components\Post\Components\PostExcerpt; new \FluentFormPro\Components\Post\Components\FeaturedImage; new \FluentFormPro\Components\Post\Components\PostUpdate; } private function isEnabled() { $globalModules = (array)get_option('fluentform_global_modules_status'); if ($globalModules) { return ArrayHelper::get($globalModules, 'postFeeds') == 'yes'; } return false; } public function formatResponse($response, $field, $form_id, $isHtml) { if (!$response) { return; } if (!is_array($response) && !is_numeric($response)) { return $response; } $options = ArrayHelper::get($field, 'raw.settings.options', []); if (!$options) { return fluentImplodeRecursive(', ', $response); } $formattedResponse = []; if (!is_array($response)) { $response = [$response]; } foreach ($response as $term_id) { if (isset($options[$term_id])) { $formattedResponse[] = $options[$term_id]; } else { $formattedResponse[] = $term_id; } } if (!$isHtml) { return fluentImplodeRecursive(', ', $formattedResponse); } $html = $html = '
'; foreach ($formattedResponse as $label => $response) { $html .= '
' . $response . '
'; } $html .= '
'; return $html; } }