芝麻web文件管理V1.00
编辑当前文件:/home/royashxg/www/wp-content/plugins/fluentformpro/src/Components/Post/PostFeedSettings.php
true]); return array_keys(array_diff($publicPostTypes, $ignoredPostTypes)); } /** * Handles fluentform_get_post_settings ajax action * @return array Possible post settings for post feed management */ public function getPostSettings() { $formId = intval($_REQUEST['form_id']); $postSettings = $this->getFormSettings($formId); $data['comment_statuses'] = ['open', 'close']; $data['post_statuses'] = ['draft', 'pending', 'private', 'publish']; $data['post_fields'] = ['post_title', 'post_content', 'post_excerpt', 'featured_image']; $data['post_info'] = $this->getPostInfo(); $data['taxonomies'] = $this->getPostTaxonomies($postSettings->post_type); $data['has_acf'] = AcfHelper::hasAcf(); if ($data['has_acf']) { $acfFields = AcfHelper::getAcfFields($postSettings->post_type); $data['acf_fields'] = $acfFields['general']; $data['acf_fields_advanced'] = $acfFields['advanced']; } $data['has_jetengine'] = JetEngineHelper::hasJetEngine(); if ($data['has_jetengine']) { $jetengineFields = JetEngineHelper::getFields($postSettings->post_type); $data['jetengine_fields'] = $jetengineFields['general']; $data['jetengine_fields_advanced'] = $jetengineFields['advanced']; } $data['has_metabox'] = MetaboxHelper::hasMetabox(); if ($data['has_metabox']) { $metaboxFields = MetaboxHelper::getPostFields($postSettings->post_type); $data['metabox_fields'] = $metaboxFields['general']; $data['metabox_fields_advanced'] = $metaboxFields['advanced']; } $data['post_formats'] = $this->getPostFormats(); $data['categories'] = $categories = $this->getCategories(); $data['default_feed'] = $this->getDefaultFeed( $this->getDefaultCategory($categories) ); $data = apply_filters_deprecated( 'ff_post_feed_settings_data_response', [ $data, $formId, $postSettings ], FLUENTFORM_FRAMEWORK_UPGRADE, 'fluentform/post_feed_settings_data_response', 'Use fluentform/post_feed_settings_data_response instead of ff_post_feed_settings_data_response.' ); return apply_filters('fluentform/post_feed_settings_data_response', $data, $formId, $postSettings); } protected function getPostInfo() { $postInfo = wpFluent()->table('fluentform_form_meta') ->where('form_id', intval($_REQUEST['form_id'])) ->where('meta_key', 'post_settings') ->first(); $postInfo->value = json_decode($postInfo->value); return $postInfo; } protected function getPostTaxonomies($postType) { return array_map(function ($taxonomy) { return [ 'name' => $taxonomy->name, 'label' => $taxonomy->label ]; }, get_object_taxonomies($postType, 'object')); } private function getFormSettings($formId) { $form = wpFluent()->table('fluentform_forms')->where('id', $formId)->first(); $value = wpFluent()->table('fluentform_form_meta') ->where('form_id', $form->id) ->where('meta_key', 'post_settings') ->first()->value; return json_decode($value); } protected function getPostFormats() { $postFormats = []; if (current_theme_supports('post-formats')) { $postFormats = get_theme_support('post-formats'); if (is_array($postFormats[0])) { $postFormats = array_merge(['standard'], $postFormats[0]); } } return $postFormats; } protected function getCategories() { $allCategories = get_categories([ 'hide_empty' => 0, 'order' => 'DESC', 'order_by' => 'cat_ID' ]); $categories = []; foreach ($allCategories as $category) { $categories[] = [ 'category_id' => $category->cat_ID, 'category_name' => $category->name ]; } return $categories; } protected function getDefaultCategory($categories) { if (!$defaultCategory = intval(get_option('default_category'))) { $defaultCategory = @$categories[0]['category_id']; } return $defaultCategory; } protected function getDefaultFeed($defaultCategory) { $data = [ 'feed_name' => '', 'feed_status' => true, 'post_status' => 'publish', 'post_format' => 'standard', 'comment_status' => 'open', 'post_fields_mapping' => [ ['post_field' => 'post_title', 'form_field' => ''], ['post_field' => 'post_content', 'form_field' => ''], ['post_field' => 'post_excerpt', 'form_field' => ''], ], 'meta_fields_mapping' => [], 'default_category' => $defaultCategory, 'post_form_type' => 'new', 'allowed_guest_user' => true, 'conditionals' => [ 'conditions' => [], 'status' => false, 'type' => 'all' ] ]; if(AcfHelper::hasAcf()) { $data['acf_mappings'] = [ [ 'field_key' => '', 'field_value' => '' ] ]; $data['advanced_acf_mappings'] = [ [ 'field_key' => '', 'field_value' => '' ] ]; } if(JetEngineHelper::hasJetEngine()) { $data['jetengine_mappings'] = [ [ 'field_key' => '', 'field_value' => '' ] ]; $data['advanced_jetengine_mappings'] = [ [ 'field_key' => '', 'field_value' => '' ] ]; } if(MetaboxHelper::hasMetabox()) { $data['metabox_mappings'] = [ [ 'field_key' => '', 'field_value' => '' ] ]; $data['advanced_metabox_mappings'] = [ [ 'field_key' => '', 'field_value' => '' ] ]; } return $data; } }