From c26ab009262b07d209fd9bb6c0ccc92d0f9c106b Mon Sep 17 00:00:00 2001 From: Seaton Jiang Date: Sun, 23 Feb 2020 15:03:21 +0800 Subject: [PATCH] feat: add smtp test function (#141) --- .../class-options-framework-admin.php | 18 +- .../includes/class-options-interface.php | 465 +++++++++--------- inc/options-framework/js/options-custom.js | 2 + inc/theme-options.php | 8 +- inc/theme-widgets.php | 2 +- languages/kratos.pot | 174 ++++--- 6 files changed, 352 insertions(+), 317 deletions(-) diff --git a/inc/options-framework/includes/class-options-framework-admin.php b/inc/options-framework/includes/class-options-framework-admin.php index 731e356..afd40e1 100755 --- a/inc/options-framework/includes/class-options-framework-admin.php +++ b/inc/options-framework/includes/class-options-framework-admin.php @@ -62,6 +62,7 @@ class Options_Framework_Admin { // Displays notice after options save add_action( 'optionsframework_after_validate', array( $this, 'save_options_notice' ) ); + add_action( 'optionsframework_after_sendmail', array( $this, 'send_mail_notice' ) ); } public function add_top_options_page() @@ -252,20 +253,27 @@ class Options_Framework_Admin { } } - // Hook to run after validation - do_action( 'optionsframework_after_validate', $clean ); - - return $clean; + if ( isset( $_POST['sendmail'] ) ) { + wp_mail( get_bloginfo( 'admin_email' ) ,__('[测试]邮件服务配置成功', 'kratos'),__('恭喜您 SMTP 邮件服务配置成功!', 'kratos')); + do_action( 'optionsframework_after_sendmail', $clean ); + return $clean; + } else { + do_action( 'optionsframework_after_validate', $clean ); + return $clean; + } } /** * Display message when options have been saved */ - function save_options_notice() { add_settings_error( 'options-framework', 'save_options', __( '保存成功', 'kratos' ), 'updated fade' ); } + function send_mail_notice() { + add_settings_error( 'options-framework', 'send_mail', __( '发送完成,请留意邮箱:' . get_bloginfo( 'admin_email' ), 'kratos' ), 'updated fade' ); + } + /** * Get the default values for all the theme options * diff --git a/inc/options-framework/includes/class-options-interface.php b/inc/options-framework/includes/class-options-interface.php index 58abe5d..d9fd1af 100755 --- a/inc/options-framework/includes/class-options-interface.php +++ b/inc/options-framework/includes/class-options-interface.php @@ -7,281 +7,284 @@ * @copyright 2010-2014 WP Theming */ -class Options_Framework_Interface { +class Options_Framework_Interface +{ - /** - * Generates the tabs that are used in the options menu - */ - static function optionsframework_tabs() { - $counter = 0; - $options = & Options_Framework::_optionsframework_options(); - $menu = ''; + /** + * Generates the tabs that are used in the options menu + */ + public static function optionsframework_tabs() + { + $counter = 0; + $options = &Options_Framework::_optionsframework_options(); + $menu = ''; - foreach ( $options as $value ) { - // Heading for Navigation - if ( $value['type'] == "heading" ) { - $counter++; - $class = ''; - $class = ! empty( $value['id'] ) ? $value['id'] : $value['name']; - $class = preg_replace( '/[^a-zA-Z0-9._\-]/', '', strtolower($class) ) . '-tab'; - $menu .= '' . esc_html( $value['name'] ) . ''; - } - } + foreach ($options as $value) { + // Heading for Navigation + if ($value['type'] == "heading") { + $counter++; + $class = ''; + $class = !empty($value['id']) ? $value['id'] : $value['name']; + $class = preg_replace('/[^a-zA-Z0-9._\-]/', '', strtolower($class)) . '-tab'; + $menu .= '' . esc_html($value['name']) . ''; + } + } - return $menu; - } + return $menu; + } - /** - * Generates the options fields that are used in the form. - */ - static function optionsframework_fields() { + /** + * Generates the options fields that are used in the form. + */ + public static function optionsframework_fields() + { - global $allowedtags; + global $allowedtags; - $options_framework = new Options_Framework; - $option_name = $options_framework->get_option_name(); - $settings = get_option( $option_name ); - $options = & Options_Framework::_optionsframework_options(); + $options_framework = new Options_Framework; + $option_name = $options_framework->get_option_name(); + $settings = get_option($option_name); + $options = &Options_Framework::_optionsframework_options(); - $counter = 0; - $menu = ''; + $counter = 0; + $menu = ''; - foreach ( $options as $value ) { + foreach ($options as $value) { - $val = ''; - $select_value = ''; - $output = ''; + $val = ''; + $select_value = ''; + $output = ''; - // Wrap all options - if ( ( $value['type'] != "heading" ) && ( $value['type'] != "info" ) && ( $value['type'] != "about" ) ) { + // Wrap all options + if (($value['type'] != "heading") && ($value['type'] != "info") && ($value['type'] != "about")) { - // Keep all ids lowercase with no spaces - $value['id'] = preg_replace('/[^a-zA-Z0-9._\-]/', '', strtolower($value['id']) ); + // Keep all ids lowercase with no spaces + $value['id'] = preg_replace('/[^a-zA-Z0-9._\-]/', '', strtolower($value['id'])); - $id = 'section-' . $value['id']; + $id = 'section-' . $value['id']; - $class = 'section'; - if ( isset( $value['type'] ) ) { - $class .= ' section-' . $value['type']; - } - if ( isset( $value['class'] ) ) { - $class .= ' ' . $value['class']; - } + $class = 'section'; + if (isset($value['type'])) { + $class .= ' section-' . $value['type']; + } + if (isset($value['class'])) { + $class .= ' ' . $value['class']; + } - $output .= '
'."\n"; - if ( isset( $value['name'] ) ) { - $output .= '

' . esc_html( $value['name'] ) . '

' . "\n"; - } - if ( $value['type'] != 'editor' ) { - $output .= '
' . "\n" . '
' . "\n"; - } - else { - $output .= '
' . "\n" . '
' . "\n"; - } - } + $output .= '
' . "\n"; + if (isset($value['name'])) { + $output .= '

' . esc_html($value['name']) . '

' . "\n"; + } + if ($value['type'] != 'editor') { + $output .= '
' . "\n" . '
' . "\n"; + } else { + $output .= '
' . "\n" . '
' . "\n"; + } + } - // Set default value to $val - if ( isset( $value['std'] ) ) { - $val = $value['std']; - } + // Set default value to $val + if (isset($value['std'])) { + $val = $value['std']; + } - // If the option is already saved, override $val - if ( ( $value['type'] != 'heading' ) && ( $value['type'] != 'info') && ( $value['type'] != "about" ) ) { - if ( isset( $settings[($value['id'])]) ) { - $val = $settings[($value['id'])]; - // Striping slashes of non-array options - if ( !is_array($val) ) { - $val = stripslashes( $val ); - } - } - } + // If the option is already saved, override $val + if (($value['type'] != 'heading') && ($value['type'] != 'info') && ($value['type'] != "about")) { + if (isset($settings[($value['id'])])) { + $val = $settings[($value['id'])]; + // Striping slashes of non-array options + if (!is_array($val)) { + $val = stripslashes($val); + } + } + } - // If there is a description save it for labels - $explain_value = ''; - if ( isset( $value['desc'] ) ) { - $explain_value = $value['desc']; - } + // If there is a description save it for labels + $explain_value = ''; + if (isset($value['desc'])) { + $explain_value = $value['desc']; + } - // Set the placeholder if one exists - $placeholder = ''; - if ( isset( $value['placeholder'] ) ) { - $placeholder = ' placeholder="' . esc_attr( $value['placeholder'] ) . '"'; - } + // Set the placeholder if one exists + $placeholder = ''; + if (isset($value['placeholder'])) { + $placeholder = ' placeholder="' . esc_attr($value['placeholder']) . '"'; + } - if ( has_filter( 'optionsframework_' . $value['type'] ) ) { - $output .= apply_filters( 'optionsframework_' . $value['type'], $option_name, $value, $val ); - } + if (has_filter('optionsframework_' . $value['type'])) { + $output .= apply_filters('optionsframework_' . $value['type'], $option_name, $value, $val); + } + switch ($value['type']) { - switch ( $value['type'] ) { + // Basic text input + case 'text': + $output .= ''; + break; - // Basic text input - case 'text': - $output .= ''; - break; + // Password input + case 'password': + $output .= ''; + break; - // Password input - case 'password': - $output .= ''; - break; + // Textarea + case 'textarea': + $rows = '8'; - // Textarea - case 'textarea': - $rows = '8'; + if (isset($value['settings']['rows'])) { + $custom_rows = $value['settings']['rows']; + if (is_numeric($custom_rows)) { + $rows = $custom_rows; + } + } - if ( isset( $value['settings']['rows'] ) ) { - $custom_rows = $value['settings']['rows']; - if ( is_numeric( $custom_rows ) ) { - $rows = $custom_rows; - } - } + $val = stripslashes($val); + $output .= ''; + break; - $val = stripslashes( $val ); - $output .= ''; - break; + // Select Box + case 'select': + $output .= ''; + foreach ($value['options'] as $key => $option) { + $output .= '' . esc_html($option) . ''; + } + $output .= ''; + break; - foreach ($value['options'] as $key => $option ) { - $output .= '' . esc_html( $option ) . ''; - } - $output .= ''; - break; + // Radio Box + case "radio": + $name = $option_name . '[' . $value['id'] . ']'; + foreach ($value['options'] as $key => $option) { + $id = $option_name . '-' . $value['id'] . '-' . $key; + $output .= ''; + } + break; + // Image Selectors + case "images": + $name = $option_name . '[' . $value['id'] . ']'; + foreach ($value['options'] as $key => $option) { + $selected = ''; + if ($val != '' && ($val == $key)) { + $selected = ' of-radio-img-selected'; + } + $output .= ''; + $output .= '
' . esc_html($key) . '
'; + $output .= '' . $option . ''; + } + break; - // Radio Box - case "radio": - $name = $option_name .'['. $value['id'] .']'; - foreach ($value['options'] as $key => $option) { - $id = $option_name . '-' . $value['id'] .'-'. $key; - $output .= ''; - } - break; + // Checkbox + case "checkbox": + $output .= ''; + $output .= ''; + break; - // Image Selectors - case "images": - $name = $option_name .'['. $value['id'] .']'; - foreach ( $value['options'] as $key => $option ) { - $selected = ''; - if ( $val != '' && ($val == $key) ) { - $selected = ' of-radio-img-selected'; - } - $output .= ''; - $output .= '
' . esc_html( $key ) . '
'; - $output .= '' . $option .''; - } - break; + // Color picker + case "color": + $default_color = ''; + if (isset($value['std'])) { + if ($val != $value['std']) { + $default_color = ' data-default-color="' . $value['std'] . '" '; + } - // Checkbox - case "checkbox": - $output .= ''; - $output .= ''; - break; - - // Color picker - case "color": - $default_color = ''; - if ( isset($value['std']) ) { - if ( $val != $value['std'] ) - $default_color = ' data-default-color="' .$value['std'] . '" '; - } - $output .= ''; + } + $output .= ''; - break; + break; - // Uploader - case "upload": - $output .= Options_Framework_Media_Uploader::optionsframework_uploader( $value['id'], $val, null ); + // Uploader + case "upload": + $output .= Options_Framework_Media_Uploader::optionsframework_uploader($value['id'], $val, null); - break; + break; - case "info": - $id = ''; - $class = 'section'; - if ( isset( $value['id'] ) ) { - $id = 'id="' . esc_attr( $value['id'] ) . '" '; - } - if ( isset( $value['type'] ) ) { - $class .= ' section-' . $value['type']; - } - if ( isset( $value['class'] ) ) { - $class .= ' ' . $value['class']; - } + case "info": + $id = ''; + $class = 'section'; + if (isset($value['id'])) { + $id = 'id="' . esc_attr($value['id']) . '" '; + } + if (isset($value['type'])) { + $class .= ' section-' . $value['type']; + } + if (isset($value['class'])) { + $class .= ' ' . $value['class']; + } - $output .= '
' . "\n"; - if ( isset($value['name']) ) { - $output .= '

' . esc_html( $value['name'] ) . '

' . "\n"; - } - if ( isset( $value['desc'] ) ) { - $output .= $value['desc'] . "\n"; - } - $output .= '
' . "\n"; - break; + $output .= '
' . "\n"; + if (isset($value['name'])) { + $output .= '

' . esc_html($value['name']) . '

' . "\n"; + } + if (isset($value['desc'])) { + $output .= $value['desc'] . "\n"; + } + $output .= '
' . "\n"; + break; - case "about": - global $wp_version; - $version = $wp_version; - $output .= ''; + break; - // Heading for Navigation - case "heading": - $counter++; - if ( $counter >= 2 ) { - $output .= '
'."\n"; - } - $class = ''; - $class = ! empty( $value['id'] ) ? $value['id'] : $value['name']; - $class = preg_replace('/[^a-zA-Z0-9._\-]/', '', strtolower($class) ); - $output .= '
'; - $output .= '

' . esc_html( $value['name'] ) . '

' . "\n"; - break; - } + case "sendmail": + $output .= ''; + break; - if ( ( $value['type'] != "heading" ) && ( $value['type'] != "info" ) && ( $value['type'] != "about" ) ) { - $output .= '
'; - if ( ( $value['type'] != "checkbox" ) && ( $value['type'] != "editor" ) ) { - $output .= '
' . wp_kses( $explain_value, $allowedtags) . '
'."\n"; - } - $output .= '
'."\n"; - } + // Heading for Navigation + case "heading": + $counter++; + if ($counter >= 2) { + $output .= '
' . "\n"; + } + $class = ''; + $class = !empty($value['id']) ? $value['id'] : $value['name']; + $class = preg_replace('/[^a-zA-Z0-9._\-]/', '', strtolower($class)); + $output .= '
'; + $output .= '

' . esc_html($value['name']) . '

' . "\n"; + break; + } - echo $output; - } + if (($value['type'] != "heading") && ($value['type'] != "info") && ($value['type'] != "about")) { + $output .= '
'; + if (($value['type'] != "checkbox") && ($value['type'] != "editor")) { + $output .= '
' . wp_kses($explain_value, $allowedtags) . '
' . "\n"; + } + $output .= '
' . "\n"; + } - // Outputs closing div if there tabs - if ( Options_Framework_Interface::optionsframework_tabs() != '' ) { - echo '
'; - } - } + echo $output; + } -} \ No newline at end of file + // Outputs closing div if there tabs + if (Options_Framework_Interface::optionsframework_tabs() != '') { + echo '
'; + } + } + +} diff --git a/inc/options-framework/js/options-custom.js b/inc/options-framework/js/options-custom.js index b04f953..efe5e05 100755 --- a/inc/options-framework/js/options-custom.js +++ b/inc/options-framework/js/options-custom.js @@ -32,6 +32,7 @@ jQuery(document).ready(function($) { jQuery('#section-m_port').fadeToggle(400); jQuery('#section-m_username').fadeToggle(400); jQuery('#section-m_passwd').fadeToggle(400); + jQuery('#section-m_sendmail').fadeToggle(400); }); if (jQuery('#m_smtp:checked').val() !== undefined) { @@ -40,6 +41,7 @@ jQuery(document).ready(function($) { jQuery('#section-m_port').show(); jQuery('#section-m_username').show(); jQuery('#section-m_passwd').show(); + jQuery('#section-m_sendmail').show(); } // Loads the color pickers diff --git a/inc/theme-options.php b/inc/theme-options.php index e9c0a0c..e4f08cc 100644 --- a/inc/theme-options.php +++ b/inc/theme-options.php @@ -3,7 +3,7 @@ * 主题选项 * @author Seaton Jiang * @license MIT License - * @version 2020.02.15 + * @version 2020.02.23 */ function getrobots() @@ -326,6 +326,12 @@ function kratos_options() 'type' => 'password', ); + $options[] = array( + 'id' => 'm_sendmail', + 'class' => 'hidden', + 'type' => 'sendmail', + ); + $options[] = array( 'name' => __('顶部配置', 'kratos'), 'type' => 'heading', diff --git a/inc/theme-widgets.php b/inc/theme-widgets.php index 4c7ca09..fc891d8 100644 --- a/inc/theme-widgets.php +++ b/inc/theme-widgets.php @@ -3,7 +3,7 @@ * 侧栏小工具 * @author Seaton Jiang * @license MIT License - * @version 2020.02.22 + * @version 2020.02.23 */ // 添加小工具 diff --git a/languages/kratos.pot b/languages/kratos.pot index 77a4340..0820ca0 100644 --- a/languages/kratos.pot +++ b/languages/kratos.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "Project-Id-Version: Kratos\n" -"POT-Creation-Date: 2020-02-22 15:03+0800\n" +"POT-Creation-Date: 2020-02-23 15:01+0800\n" "PO-Revision-Date: 2020-02-14 23:32+0800\n" "Last-Translator: \n" "Language-Team: \n" @@ -66,84 +66,96 @@ msgstr "" msgid "搜点什么呢?" msgstr "" -#: inc/options-framework/includes/class-options-framework-admin.php:70 #: inc/options-framework/includes/class-options-framework-admin.php:71 -#: inc/options-framework/includes/class-options-framework-admin.php:84 +#: inc/options-framework/includes/class-options-framework-admin.php:72 #: inc/options-framework/includes/class-options-framework-admin.php:85 +#: inc/options-framework/includes/class-options-framework-admin.php:86 msgid "主题设置" msgstr "" -#: inc/options-framework/includes/class-options-framework-admin.php:180 +#: inc/options-framework/includes/class-options-framework-admin.php:181 msgid "保存配置" msgstr "" -#: inc/options-framework/includes/class-options-framework-admin.php:181 +#: inc/options-framework/includes/class-options-framework-admin.php:182 msgid "恢复默认" msgstr "" -#: inc/options-framework/includes/class-options-framework-admin.php:181 +#: inc/options-framework/includes/class-options-framework-admin.php:182 msgid "单击「确定」进行恢复,但所有的配置都将丢失!" msgstr "" -#: inc/options-framework/includes/class-options-framework-admin.php:212 +#: inc/options-framework/includes/class-options-framework-admin.php:213 msgid "恢复完成" msgstr "" -#: inc/options-framework/includes/class-options-framework-admin.php:266 +#: inc/options-framework/includes/class-options-framework-admin.php:257 +msgid "[测试]邮件服务配置成功" +msgstr "" + +#: inc/options-framework/includes/class-options-framework-admin.php:257 +msgid "恭喜您 SMTP 邮件服务配置成功!" +msgstr "" + +#: inc/options-framework/includes/class-options-framework-admin.php:270 msgid "保存成功" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:229 +#: inc/options-framework/includes/class-options-framework-admin.php:274 +msgid "发送完成,请留意邮箱:" +msgstr "" + +#: inc/options-framework/includes/class-options-interface.php:230 msgid "基础信息" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:231 +#: inc/options-framework/includes/class-options-interface.php:232 msgid "PHP 版本:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:232 +#: inc/options-framework/includes/class-options-interface.php:233 msgid "Kratos 版本:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:233 +#: inc/options-framework/includes/class-options-interface.php:234 msgid "WordPress 版本:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:234 +#: inc/options-framework/includes/class-options-interface.php:235 msgid "User Agent 信息:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:236 +#: inc/options-framework/includes/class-options-interface.php:237 msgid "" "提示:在提交主题相关问题反馈时,请将上面「基础信息」中的内容复制到环境信息" "中。" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:237 +#: inc/options-framework/includes/class-options-interface.php:238 msgid "资料文档" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:239 +#: inc/options-framework/includes/class-options-interface.php:240 msgid "说明文档:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:240 +#: inc/options-framework/includes/class-options-interface.php:241 msgid "代码托管:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:241 +#: inc/options-framework/includes/class-options-interface.php:242 msgid "问题反馈:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:242 +#: inc/options-framework/includes/class-options-interface.php:243 msgid "更新日志:" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:244 +#: inc/options-framework/includes/class-options-interface.php:245 msgid "讨论交流" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:245 +#: inc/options-framework/includes/class-options-interface.php:246 msgid "" "欢迎使用 Kratos 主题开始文章创作,诚邀您加入主题交流 QQ 群:734508" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:246 +#: inc/options-framework/includes/class-options-interface.php:247 msgid "版权声明" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:247 +#: inc/options-framework/includes/class-options-interface.php:248 msgid "" "主题源码使用 MIT 协议 进行许可,说明文档使用 进行许可。" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:248 +#: inc/options-framework/includes/class-options-interface.php:249 msgid "打赏支持" msgstr "" -#: inc/options-framework/includes/class-options-interface.php:250 +#: inc/options-framework/includes/class-options-interface.php:251 msgid "项目的发展需要您的支持和鼓励,打赏时请确认作者姓名为姜学栋" msgstr "" +#: inc/options-framework/includes/class-options-interface.php:256 +msgid "测试邮件" +msgstr "" + #: inc/options-framework/includes/class-options-media-uploader.php:62 msgid "没有选择任何文件" msgstr "" @@ -457,7 +473,7 @@ msgstr "" msgid "个人昵称" msgstr "" -#: inc/theme-options.php:271 inc/theme-widgets.php:146 +#: inc/theme-options.php:271 inc/theme-widgets.php:140 msgid "个人简介" msgstr "" @@ -513,123 +529,123 @@ msgstr "" msgid "填写邮箱密码" msgstr "" -#: inc/theme-options.php:330 +#: inc/theme-options.php:336 msgid "顶部配置" msgstr "" -#: inc/theme-options.php:335 +#: inc/theme-options.php:341 msgid "顶部图片" msgstr "" -#: inc/theme-options.php:342 +#: inc/theme-options.php:348 msgid "副标题" msgstr "" -#: inc/theme-options.php:349 +#: inc/theme-options.php:355 msgid "标题描述" msgstr "" -#: inc/theme-options.php:356 +#: inc/theme-options.php:362 msgid "页脚配置" msgstr "" -#: inc/theme-options.php:361 +#: inc/theme-options.php:367 msgid "选择需要开启的社交图标" msgstr "" -#: inc/theme-options.php:362 +#: inc/theme-options.php:368 msgid "国内平台" msgstr "" -#: inc/theme-options.php:367 +#: inc/theme-options.php:373 msgid "新浪微博" msgstr "" -#: inc/theme-options.php:380 +#: inc/theme-options.php:386 msgid "哔哩哔哩" msgstr "" -#: inc/theme-options.php:393 +#: inc/theme-options.php:399 msgid "CODING" msgstr "" -#: inc/theme-options.php:406 +#: inc/theme-options.php:412 msgid "码云 Gitee" msgstr "" -#: inc/theme-options.php:419 +#: inc/theme-options.php:425 msgid "海外平台" msgstr "" -#: inc/theme-options.php:424 +#: inc/theme-options.php:430 msgid "Twitter" msgstr "" -#: inc/theme-options.php:437 +#: inc/theme-options.php:443 msgid "Telegram" msgstr "" -#: inc/theme-options.php:450 +#: inc/theme-options.php:456 msgid "LinkedIn" msgstr "" -#: inc/theme-options.php:463 +#: inc/theme-options.php:469 msgid "YouTube" msgstr "" -#: inc/theme-options.php:476 +#: inc/theme-options.php:482 msgid "Github" msgstr "" -#: inc/theme-options.php:489 +#: inc/theme-options.php:495 msgid "Stack Overflow" msgstr "" -#: inc/theme-options.php:502 +#: inc/theme-options.php:508 msgid "其他" msgstr "" -#: inc/theme-options.php:507 +#: inc/theme-options.php:513 msgid "电子邮箱" msgstr "" -#: inc/theme-options.php:520 +#: inc/theme-options.php:526 msgid "工信部备案信息" msgstr "" -#: inc/theme-options.php:527 +#: inc/theme-options.php:533 msgid "公安网备案信息" msgstr "" -#: inc/theme-options.php:534 +#: inc/theme-options.php:540 msgid "公安网备案连接" msgstr "" -#: inc/theme-options.php:541 +#: inc/theme-options.php:547 msgid "版权信息" msgstr "" -#: inc/theme-options.php:548 +#: inc/theme-options.php:554 msgid "广告配置" msgstr "" -#: inc/theme-options.php:553 +#: inc/theme-options.php:559 msgid "文章页面广告" msgstr "" -#: inc/theme-options.php:554 +#: inc/theme-options.php:560 msgid "开启顶部广告" msgstr "" -#: inc/theme-options.php:567 inc/theme-options.php:587 +#: inc/theme-options.php:573 inc/theme-options.php:593 msgid "选填广告连接,如果不填则只显示图片" msgstr "" -#: inc/theme-options.php:574 +#: inc/theme-options.php:580 msgid "开启底部广告" msgstr "" -#: inc/theme-options.php:594 +#: inc/theme-options.php:600 msgid "关于主题" msgstr "" @@ -695,92 +711,92 @@ msgstr "" msgid "侧边栏工具" msgstr "" -#: inc/theme-widgets.php:77 +#: inc/theme-widgets.php:71 msgid "图片广告" msgstr "" -#: inc/theme-widgets.php:78 +#: inc/theme-widgets.php:72 msgid "显示自定义图片广告的工具" msgstr "" -#: inc/theme-widgets.php:94 inc/theme-widgets.php:116 +#: inc/theme-widgets.php:88 inc/theme-widgets.php:110 msgid "广告" msgstr "" -#: inc/theme-widgets.php:122 +#: inc/theme-widgets.php:116 msgid "副标题:" msgstr "" -#: inc/theme-widgets.php:126 +#: inc/theme-widgets.php:120 msgid "链接地址:" msgstr "" -#: inc/theme-widgets.php:130 +#: inc/theme-widgets.php:124 msgid "广告图片:" msgstr "" -#: inc/theme-widgets.php:132 inc/theme-widgets.php:196 +#: inc/theme-widgets.php:126 inc/theme-widgets.php:190 msgid "选择图片" msgstr "" -#: inc/theme-widgets.php:147 +#: inc/theme-widgets.php:141 msgid "可跳转后台的个人简介展示工具" msgstr "" -#: inc/theme-widgets.php:194 +#: inc/theme-widgets.php:188 msgid "背景图片:" msgstr "" -#: inc/theme-widgets.php:208 inc/theme-widgets.php:231 +#: inc/theme-widgets.php:202 inc/theme-widgets.php:225 msgid "标签聚合" msgstr "" -#: inc/theme-widgets.php:209 +#: inc/theme-widgets.php:203 msgid "文章标签的展示工具" msgstr "" -#: inc/theme-widgets.php:254 +#: inc/theme-widgets.php:248 msgid "显示数量:" msgstr "" -#: inc/theme-widgets.php:258 +#: inc/theme-widgets.php:252 msgid "显示排序:" msgstr "" -#: inc/theme-widgets.php:260 +#: inc/theme-widgets.php:254 msgid "降序" msgstr "" -#: inc/theme-widgets.php:261 +#: inc/theme-widgets.php:255 msgid "升序" msgstr "" -#: inc/theme-widgets.php:262 inc/theme-widgets.php:292 -#: inc/theme-widgets.php:297 +#: inc/theme-widgets.php:256 inc/theme-widgets.php:286 +#: inc/theme-widgets.php:291 msgid "随机" msgstr "" -#: inc/theme-widgets.php:275 +#: inc/theme-widgets.php:269 msgid "文章聚合" msgstr "" -#: inc/theme-widgets.php:276 +#: inc/theme-widgets.php:270 msgid "展示最热、随机、最新文章的工具" msgstr "" -#: inc/theme-widgets.php:290 inc/theme-widgets.php:295 +#: inc/theme-widgets.php:284 inc/theme-widgets.php:289 msgid "最新" msgstr "" -#: inc/theme-widgets.php:291 inc/theme-widgets.php:296 +#: inc/theme-widgets.php:285 inc/theme-widgets.php:290 msgid "热点" msgstr "" -#: inc/theme-widgets.php:334 +#: inc/theme-widgets.php:328 msgid "展示数量:" msgstr "" -#: inc/theme-widgets.php:338 +#: inc/theme-widgets.php:332 msgid "统计天数:" msgstr ""