二级目录:languages、images、js 新增文件
- languages/ 中文语言包
- ————————————————
- images/ 站点共用图片
- images/lang/ 语言站点icon
- images/post-status/ 文章状态
- images/social/ 社交点赞分享
- ————————————————
- js/contact/ 后台添加自定义联系短代码
- js/copyprotect.js 非管理员引入版权保护,禁右键禁复制
- js/social.js 社交分享点赞
二级目录:inc 新增文件夹
- inc/avatar/ 登录用户头像
- inc/captcha/ 前台发布文章Captcha码
- inc/fonts/ 将Google字体本地化(在functions.php中修改引入)
- inc/pop/ 站点消息弹窗
- inc/slider/ 首页自定义Slider代码
二级目录:inc 新增文件
- inc/cert.php 企业信息公示页面
- inc/cus-contact.php 自定义联系卡代码
- inc/map.php 企业位置地图页面
- inc/metabox.php 后台自定义文章状态代码
- inc/new-post.php 前台文章发布页面
- inc/privacy-policy.php 网站隐私政策页面(英文)
- inc/smartideo.php 引入网址解析视频函数
inc/tgm-register-plugins.php
除了 js_composer 和 core-extend 之外,去掉其它所有插件后台提醒;
inc/custom-functions.php
1. 第173行,删除post_date_blog函数中a标签的href及其链接代码:
href="'. esc_url(get_permalink()) .'"
2. 第173行,修改post_date_blog函数中title标签内容为(文章列表页鼠标滑过显示发布和更新时间):
title="'. esc_html__('Published: ', 'upscale') .''. esc_html( trim( mnky_post_time() ) ) .'; '. esc_html__('Updated on ', 'upscale') .''. esc_attr(get_the_modified_date()) .'"
3. echo ‘</div>’;之前,第183行处,增加文章列表页显示浏览量、指定权限编辑功能:
if ( ot_get_option('post_meta_viewers') != 'off' ) {
echo '<span class="meta-views">'. getPostViews(get_the_ID()) .' '. esc_html__('Views', 'upscale') .'</span>';
}
if ( ot_get_option('post_meta_editor') != 'off' ) {
if ( current_user_can('level_7') ){
echo '<a class="meta-editor" href="'. get_edit_post_link(get_the_ID()) .'">'. esc_html__('Edit', 'upscale') .'</a>';
}
}
4. 第214行,在post_date函数的span标签中,新增如下title代码,单篇文章页鼠标滑过显示发布和更新时间:
title="'. esc_html__('Published: ', 'upscale') .''. esc_html( trim( mnky_post_time() ) ) .'; '. esc_html__('Updated on ', 'upscale') .''. esc_attr(get_the_modified_date()) .'"
5. echo ‘</div>’;之前,第224行处,增加单篇文章页显示浏览量、指定权限编辑功能:
if ( ot_get_option('post_meta_viewers') != 'off' ) {
setPostViews(get_the_ID()); //阅读函数
echo '<span class="meta-views">'. getPostViews(get_the_ID()) .' '. esc_html__('Views', 'upscale') .'</span>';
}
if ( ot_get_option('post_meta_editor') != 'off' ) {
if ( current_user_can('level_7') ){
echo '<a class="meta-editor" href="'. get_edit_post_link(get_the_ID()) .'">'. esc_html__('Edit', 'upscale') .'</a>';
}
}
inc/theme-options-extend/theme-options.php
1. 第33行之后,添加sliders后台设置菜单:
array(
'id' => 'sliders',
'title' => esc_html__( 'Slider Settings', 'upscale' )
),
2. 第73行之后,添加GravityForm后台设置菜单:
array(
'id' => 'gravityform',
'title' => esc_html__( 'GravityForm', 'upscale' )
),
3. srcset_for_images之后,第204行,添加Slider设置
array(
'id' => 'home_slider_type',
'label' => esc_html__( 'Home slider type', 'upscale' ),
'desc' => esc_html__( 'Please choose a type of slider to show in homepage.', 'upscale' ),
'std' => 'picture',
'type' => 'radio',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and',
'choices' => array(
array(
'value' => 'post',
'label' => esc_html__( 'Post', 'upscale' ),
'src' => ''
),
array(
'value' => 'picture',
'label' => esc_html__( 'Picture', 'upscale' ),
'src' => ''
),
array(
'value' => 'video',
'label' => esc_html__( 'Video', 'upscale' ),
'src' => ''
),
),
),
array(
'id' => 'sliders_home_pic_1',
'label' => esc_html__( 'Picture Url 1', 'upscale' ),
'desc' => esc_html__( 'Only Picture url is permitted' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_1_div',
'label' => esc_html__( 'Home slider pic: txt and button', 'upscale' ),
'desc' => esc_html__( 'Enable or disable txt and button area for picture 1.', 'upscale' ),
'std' => 'off',
'type' => 'on-off',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_1_div_title',
'label' => esc_html__( 'Picture 1 div title', 'upscale' ),
'desc' => esc_html__( 'Name the div for pic 1.' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_1_div_p',
'label' => esc_html__( 'Picture 1 div p', 'upscale' ),
'desc' => esc_html__( 'The details of the div for pic 1.' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_1_div_button_name',
'label' => esc_html__( 'Picture 1 div button name', 'upscale' ),
'desc' => esc_html__( 'The name of the div button for pic 1.' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_1_div_button_link',
'label' => esc_html__( 'Picture 1 div button link', 'upscale' ),
'desc' => esc_html__( 'The link of the div button for pic 1.' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_2',
'label' => esc_html__( 'Picture Url 2', 'upscale' ),
'desc' => esc_html__( 'Only Picture url is permitted' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_3',
'label' => esc_html__( 'Picture Url 3', 'upscale' ),
'desc' => esc_html__( 'Only Picture url is permitted' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_pic_4',
'label' => esc_html__( 'Picture Url 4', 'upscale' ),
'desc' => esc_html__( 'Only Picture url is permitted' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(picture)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_mp4_1_nm',
'label' => esc_html__( 'MP4 Name 1', 'upscale' ),
'desc' => esc_html__( 'Name the Video for MP4 1' ,'upscale' ),
'std' => 'MP4 1',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_mp4_1_pic',
'label' => esc_html__( 'Picture Url for Mp4 Video 1', 'upscale' ),
'desc' => esc_html__( 'Only Picture url is permitted' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_mp4_1',
'label' => esc_html__( 'MP4 Url 1', 'upscale' ),
'desc' => esc_html__( 'Only MP4 url is permitted' ,'upscale' ),
'std' => '//huayuncpv.meldingcloud.com/WGXT_LS/WGXT_LS/V9999/ab5153fa493242bea1669b2f2c765cb7_5.mp4',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_mp4_2_nm',
'label' => esc_html__( 'MP4 Name 2', 'upscale' ),
'desc' => esc_html__( 'Name the Video for MP4 2' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_mp4_2_pic',
'label' => esc_html__( 'Picture Url for Mp4 Video 2', 'upscale' ),
'desc' => esc_html__( 'Only Picture url is permitted' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_mp4_2',
'label' => esc_html__( 'MP4 Url 2', 'upscale' ),
'desc' => esc_html__( 'Only MP4 url is permitted','upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_website_1_nm',
'label' => esc_html__( 'Website Video Name 1', 'upscale' ),
'desc' => esc_html__( 'Name the Video for Website Video 1' ,'upscale' ),
'std' => 'Website Video 1',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_website_1',
'label' => esc_html__( 'Youku Url', 'upscale' ),
'desc' => esc_html__( 'Only the url in iframe code is permitted','upscale' ),
'std' => 'https://player.youku.com/embed/XMzgyNzgxMzI4',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_website_2_nm',
'label' => esc_html__( 'Website Video Name 2', 'upscale' ),
'desc' => esc_html__( 'Name the Video for Website Video 2' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_website_2',
'label' => esc_html__( 'Tencent Video Url', 'upscale' ),
'desc' => esc_html__( 'Only the url in iframe code is permitted' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_website_3_nm',
'label' => esc_html__( 'Website Video Name 3', 'upscale' ),
'desc' => esc_html__( 'Name the Video for Website Video 3' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
array(
'id' => 'sliders_home_video_website_3',
'label' => esc_html__( 'Youtube Url', 'upscale' ),
'desc' => esc_html__( 'Only the url in iframe code is permitted' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'sliders',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'home_slider_type:is(video)',
'operator' => 'and'
),
4. mobile_retina_logo_height之后,第1165行,添加自定义<head>代码:
array(
'id' => 'headcode_tab',
'label' => esc_html__( 'Head Code', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'header_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'head_code',
'label' => esc_html__( 'Head Code', 'upscale' ),
'desc' => esc_html__( 'Add any of your html head code here. Have fun!', 'upscale' ),
'std' => '',
'type' => 'textarea-simple',
'section' => 'header_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
5. custom_fonts_tab之后,第1970行,注释掉谷歌字体:
//注释掉谷歌字体
/*
array(
'id' => 'add_google_fonts',
'label' => esc_html__( 'Add Google fonts', 'upscale' ),
'desc' => sprintf (esc_html_x( '1. Click "Add Google Font". %1$s 2. Choose your font and options. %1$s 3. Save the options. %1$s 4. Assign your new font to elements below.', '%1$s stands for line break' ,'upscale' ), '<br/>'),
'std' => '',
'type' => 'google-fonts',
'section' => 'typography',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
*/
6. copyright_link_hover之后,第2566行,新增自定义页脚代码、弹窗代码:
array(
'id' => 'FooterCode_tab',
'label' => esc_html__( 'Footer Code', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'footer_code',
'label' => esc_html__( 'Footer Code', 'upscale' ),
'desc' => esc_html__( 'Add any of your html footer code here. Have fun!', 'upscale' ),
'std' => '',
'type' => 'textarea-simple',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'PagePopup_tab',
'label' => esc_html__( 'Page Popup', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'page_pop',
'label' => esc_html__( 'Page Popup', 'upscale' ),
'desc' => esc_html__( 'Enable page popup.', 'upscale' ),
'std' => 'off',
'type' => 'on-off',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'pop_time',
'label' => esc_html__( 'If closed, show again in days', 'upscale' ),
'desc' => esc_html__( 'Show again in certain days, which can be 1/2, 1, 2...', 'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'page_pop:is(on)',
'operator' => 'and'
),
array(
'id' => 'pop_title',
'label' => esc_html__( 'Popup Title', 'upscale' ),
'desc' => esc_html__( 'Please input your popup title.', 'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'page_pop:is(on)',
'operator' => 'and'
),
array(
'id' => 'pop_meta',
'label' => esc_html__( 'Popup Meta Info', 'upscale' ),
'desc' => esc_html__( 'Please input your popup meta information.', 'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'page_pop:is(on)',
'operator' => 'and'
),
array(
'id' => 'pop_contents',
'label' => esc_html__( 'Popup Contents', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'textarea',
'section' => 'footer_options',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => 'page_pop:is(on)',
'operator' => 'and'
),
array(
'id' => 's_post_tab',
'label' => esc_html__( 'Single Post', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
7. post_date之后,第2775行,文章postmeta处新增浏览量、编辑功能:
array(
'id' => 'post_meta_viewers',
'label' => esc_html__( 'Post views in meta', 'upscale' ),
'desc' => esc_html__( 'Do you want to display views in post meta fields?', 'upscale' ),
'std' => 'on',
'type' => 'on-off',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'post_meta_editor',
'label' => esc_html__( 'Post edit button in meta (Only viewable for administrators)', 'upscale' ),
'desc' => esc_html__( 'Do you want to display edit button in post meta fields?', 'upscale' ),
'std' => 'on',
'type' => 'on-off',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
8. author_description之后,第2865行,新增自定义短代码联系卡设置:
array(
'id' => 'post_contact_tab1',
'label' => esc_html__( 'Contact Form 1', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_name_1',
'label' => esc_html__( 'Contact Name', 'upscale' ),
'desc' => esc_html__( 'The name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_title_1',
'label' => esc_html__( 'Contact Title', 'upscale' ),
'desc' => esc_html__( 'The title of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_photo_1',
'label' => esc_html__( 'Contact Photo', 'upscale' ),
'desc' => esc_html__( 'The photo of the contact person' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_email_1',
'label' => esc_html__( 'Email', 'upscale' ),
'desc' => esc_html__( 'The email of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_skype_1',
'label' => esc_html__( 'Skype', 'upscale' ),
'desc' => esc_html__( 'The Skype ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_wechat_1',
'label' => esc_html__( 'Wechat', 'upscale' ),
'desc' => esc_html__( 'The Wechat ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_wechatqr_1',
'label' => esc_html__( 'Wechat QR Code', 'upscale' ),
'desc' => esc_html__( 'The Wechat QR Code' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_qq_1',
'label' => esc_html__( 'QQ', 'upscale' ),
'desc' => esc_html__( 'The QQ ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_weibo_1',
'label' => esc_html__( 'Weibo Name', 'upscale' ),
'desc' => esc_html__( 'The Weibo Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_weibourl_1',
'label' => esc_html__( 'Weibo URL', 'upscale' ),
'desc' => esc_html__( 'The Weibo URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_whatsapp_1',
'label' => esc_html__( 'WhatsAPP', 'upscale' ),
'desc' => esc_html__( 'The WhatsAPP ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_facebook_1',
'label' => esc_html__( 'Facebook Name', 'upscale' ),
'desc' => esc_html__( 'The Facebook Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_facebookurl_1',
'label' => esc_html__( 'Facebook URL', 'upscale' ),
'desc' => esc_html__( 'The Facebook URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_twitter_1',
'label' => esc_html__( 'Twitter Name', 'upscale' ),
'desc' => esc_html__( 'The Twitter Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_twitterurl_1',
'label' => esc_html__( 'Twitter URL', 'upscale' ),
'desc' => esc_html__( 'The Twitter URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_linkedin_1',
'label' => esc_html__( 'Linkedin Name', 'upscale' ),
'desc' => esc_html__( 'The Linkedin Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_linkedinurl_1',
'label' => esc_html__( 'Linkedin URL', 'upscale' ),
'desc' => esc_html__( 'The Linkedin URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_custxt_1',
'label' => esc_html__( 'Custom Txt', 'upscale' ),
'desc' => esc_html__( 'The Custom Txt of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_custxturl_1',
'label' => esc_html__( 'Custom Txt URL', 'upscale' ),
'desc' => esc_html__( 'The Custom Txt URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_btntxt_1',
'label' => esc_html__( 'Button Txt', 'upscale' ),
'desc' => esc_html__( 'The Button Txt of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_btnurl_1',
'label' => esc_html__( 'Button Txt URL', 'upscale' ),
'desc' => esc_html__( 'The Button Txt URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'post_contact_tab2',
'label' => esc_html__( 'Contact Form 2', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_name_2',
'label' => esc_html__( 'Contact Name', 'upscale' ),
'desc' => esc_html__( 'The name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_title_2',
'label' => esc_html__( 'Contact Title', 'upscale' ),
'desc' => esc_html__( 'The title of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_photo_2',
'label' => esc_html__( 'Contact Photo', 'upscale' ),
'desc' => esc_html__( 'The photo of the contact person' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_email_2',
'label' => esc_html__( 'Email', 'upscale' ),
'desc' => esc_html__( 'The email of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_skype_2',
'label' => esc_html__( 'Skype', 'upscale' ),
'desc' => esc_html__( 'The Skype ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_wechat_2',
'label' => esc_html__( 'Wechat', 'upscale' ),
'desc' => esc_html__( 'The Wechat ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_wechatqr_2',
'label' => esc_html__( 'Wechat QR Code', 'upscale' ),
'desc' => esc_html__( 'The Wechat QR Code' ,'upscale' ),
'std' => '',
'type' => 'upload',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_qq_2',
'label' => esc_html__( 'QQ', 'upscale' ),
'desc' => esc_html__( 'The QQ ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_weibo_2',
'label' => esc_html__( 'Weibo Name', 'upscale' ),
'desc' => esc_html__( 'The Weibo Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_weibourl_2',
'label' => esc_html__( 'Weibo URL', 'upscale' ),
'desc' => esc_html__( 'The Weibo URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_whatsapp_2',
'label' => esc_html__( 'WhatsAPP', 'upscale' ),
'desc' => esc_html__( 'The WhatsAPP ID of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_facebook_2',
'label' => esc_html__( 'Facebook Name', 'upscale' ),
'desc' => esc_html__( 'The Facebook Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_facebookurl_2',
'label' => esc_html__( 'Facebook URL', 'upscale' ),
'desc' => esc_html__( 'The Facebook URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_twitter_2',
'label' => esc_html__( 'Twitter Name', 'upscale' ),
'desc' => esc_html__( 'The Twitter Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_twitterurl_2',
'label' => esc_html__( 'Twitter URL', 'upscale' ),
'desc' => esc_html__( 'The Twitter URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_linkedin_2',
'label' => esc_html__( 'Linkedin Name', 'upscale' ),
'desc' => esc_html__( 'The Linkedin Name of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_linkedinurl_2',
'label' => esc_html__( 'Linkedin URL', 'upscale' ),
'desc' => esc_html__( 'The Linkedin URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_custxt_2',
'label' => esc_html__( 'Custom Txt', 'upscale' ),
'desc' => esc_html__( 'The Custom Txt of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_custxturl_2',
'label' => esc_html__( 'Custom Txt URL', 'upscale' ),
'desc' => esc_html__( 'The Custom Txt URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_btntxt_2',
'label' => esc_html__( 'Button Txt', 'upscale' ),
'desc' => esc_html__( 'The Button Txt of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'cont_btnurl_2',
'label' => esc_html__( 'Button Txt URL', 'upscale' ),
'desc' => esc_html__( 'The Button Txt URL of the contact person' ,'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'articles_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
9. content_type之后,第3764行,新增摘要显示长度功能:
array(
'id' => 'excerpt-length',
'label' => esc_html__( 'Excerpt Length', 'upscale' ),
'desc' => esc_html__( 'Number of excerpt words. eg: 20', 'upscale' ),
'std' => '20',
'type' => 'text',
'section' => 'blog_section',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
10. cat_pre_content_html之后,第4180行,前台发布文章页面新增帮助链接:
array(
'id' => 'woo_user_post_help',
'label' => esc_html__( 'Help URL of creating new posts', 'upscale' ),
'desc' => esc_html__( 'Creat a help page and put the link here for users writing on frontend new-post. If empty, the front new-poat page will not display the help link.', 'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'woocommerce',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
11. woo_product_count之后,第4312行,新增GravityForm设置,与Gravity Forms设置>>通知>>{all_fields:template[cn-newsletter]}结合使用:
array(
'id' => 'newsletter_tab',
'label' => esc_html__( 'Newsletter', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'post_type_nl',
'label' => esc_html__( 'Post Type for Newsletter', 'upscale' ),
'desc' => esc_html__( 'When send newsletter notifications in Gravity Forms, the post will be sent emails.', 'upscale' ),
'std' => 'post',
'type' => 'radio',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and',
'choices' => array(
array(
'value' => 'post',
'label' => esc_html__( 'Post', 'upscale' ),
'src' => ''
),
array(
'value' => 'page',
'label' => esc_html__( 'Page', 'upscale' ),
'src' => ''
),
),
),
array(
'id' => 'post_num_nl',
'label' => esc_html__( 'Show Posts', 'upscale' ),
'desc' => esc_html__( 'How many posts will be sent to emails? A number only!!!', 'upscale' ),
'std' => '4',
'type' => 'text',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and',
),
array(
'id' => 'post_author_nl',
'label' => esc_html__( 'Show Author(s) Posts', 'upscale' ),
'desc' => esc_html__( 'List the IDs of the authors to show their posts in newsletter. Require a comma between IDs. If empty, show all.', 'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and',
),
array(
'id' => 'post_cat_nl',
'label' => esc_html__( 'Exclude category from newsletter', 'upscale' ),
'desc' => esc_html__( 'This option will exclude selected category posts from newsletter.', 'upscale' ),
'std' => '',
'type' => 'category-checkbox',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'timetable_tab',
'label' => esc_html__( 'Timetable', 'upscale' ),
'desc' => '',
'std' => '',
'type' => 'tab',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and'
),
array(
'id' => 'timeformid',
'label' => esc_html__( 'Timetable Form ID', 'upscale' ),
'desc' => esc_html__( 'Timetable sourced Gravityform ID', 'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and',
),
array(
'id' => 'gfpagesize',
'label' => esc_html__( 'GF Entry List Pagesize', 'upscale' ),
'desc' => esc_html__( 'GF Entry List Pagesize. Only a number is allowed, eg: 50', 'upscale' ),
'std' => '',
'type' => 'text',
'section' => 'gravityform',
'rows' => '',
'post_type' => '',
'taxonomy' => '',
'min_max_step'=> '',
'class' => '',
'condition' => '',
'operator' => 'and',
),