Changeset 343854
- Timestamp:
- 08/14/2026 08:55:50 AM (2 months ago)
- Location:
- ultrapress/1.2.3
- Files:
-
- 1 added
- 4 deleted
- 14 edited
- 1 copied
-
. (copied) (copied from ultrapress/1.2.2 )
-
functions.php (modified) (7 diffs)
-
inc/config (deleted)
-
inc/extras/block-styles.php (added)
-
inc/extras/dynamic-sidebar.php (modified) (1 diff)
-
inc/extras/woocommerce.php (modified) (1 diff)
-
inc/ultrapress-customizer/customizers/archive/blog.php (modified) (1 diff)
-
inc/ultrapress-customizer/customizers/archive/single.php (modified) (1 diff)
-
inc/ultrapress-customizer/customizers/bread-banner/banner.php (modified) (1 diff)
-
inc/ultrapress-customizer/customizers/dev (deleted)
-
inc/ultrapress-customizer/customizers/seo (deleted)
-
inc/ultrapress-customizer/customizers/typography/general.php (deleted)
-
inc/ultrapress-customizer/customizers/typography/heading.php (modified) (1 diff)
-
inc/ultrapress-customizer/inc/custom-controls.php (modified) (6 diffs)
-
inc/ultrapress-customizer/inc/customizer.php (modified) (4 diffs)
-
inc/ultrapress-functions.php (modified) (8 diffs)
-
inc/ultrapress-tgmpa.php (modified) (1 diff)
-
readme.txt (modified) (1 diff)
-
style.css (modified) (1 diff)
-
template-parts/footer/footer-default.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
ultrapress/1.2.3/functions.php
r256102 r343854 45 45 */ 46 46 add_theme_support('align-wide'); 47 add_theme_support('wp-block-styles'); 48 add_theme_support('responsive-embeds'); 49 add_editor_style('assets/css/style-editor.css'); 47 50 /* 48 51 * Enable support for Post Thumbnails on posts and pages. … … 54 57 add_image_size('ultrapress_archive_default', 360, 450, true); 55 58 add_image_size('ultrapress_widget_rcp_size', 300, 150, true); 56 // This theme uses wp_nav_menu() in one location.57 register_nav_menus(array(58 'primary-menu' => esc_html__('Primary', 'ultrapress'),59 ));60 59 /* 61 60 * Switch default core markup for search form, comment form, and comments … … 90 89 endif; 91 90 add_action('after_setup_theme', 'ultrapress_starter_setup'); 91 /** 92 * Register theme navigation menus. 93 * 94 * Hooked to init (rather than after_setup_theme, where this used to live) 95 * because register_nav_menus() translates the menu label, and translating 96 * anything before init triggers WordPress 6.7+'s "translation loaded too 97 * early" notice. 98 */ 99 if (!function_exists('ultrapress_register_nav_menus')) { 100 function ultrapress_register_nav_menus() 101 { 102 // This theme uses wp_nav_menu() in one location. 103 register_nav_menus(array( 104 'primary-menu' => esc_html__('Primary', 'ultrapress'), 105 )); 106 } 107 } 108 add_action('init', 'ultrapress_register_nav_menus'); 92 109 /** 93 110 * Set the content width in pixels, based on the theme's design and stylesheet. … … 148 165 /* Styles */ 149 166 ultrapress_google_fonts_url(); // Load google fonts( cdn or local ) 150 wp_register_style('slick-theme', get_template_directory_uri() . '/assets/css/slick-theme.min.css'); 151 wp_register_style('slick', get_template_directory_uri() . '/assets/css/slick.min.css'); 152 wp_register_style('font-awesome', get_template_directory_uri() . '/assets/css/all.min.css'); 153 wp_enqueue_style('ultrapress-main-style', get_template_directory_uri() . '/assets/css/style' . $min . '.css'); 154 wp_enqueue_style('ultrapress-responsive', get_template_directory_uri() . '/assets/css/responsive' . $min . '.css'); 167 wp_register_style('slick-theme', get_template_directory_uri() . '/assets/css/slick-theme.min.css', array(), ULTRAPRESS_VERSION); 168 wp_register_style('slick', get_template_directory_uri() . '/assets/css/slick.min.css', array(), ULTRAPRESS_VERSION); 169 wp_enqueue_style('ultrapress-main-style', get_template_directory_uri() . '/assets/css/style' . $min . '.css', array(), ULTRAPRESS_VERSION); 170 wp_enqueue_style('ultrapress-responsive', get_template_directory_uri() . '/assets/css/responsive' . $min . '.css', array(), ULTRAPRESS_VERSION); 155 171 156 172 /* Scripts */ … … 172 188 function ultrapress_editor_styles() 173 189 { 174 wp_enqueue_style('ultrapress-gutenberg-editor', get_template_directory_uri() . '/assets/css/style-editor.css' );190 wp_enqueue_style('ultrapress-gutenberg-editor', get_template_directory_uri() . '/assets/css/style-editor.css', array(), ULTRAPRESS_VERSION); 175 191 } 176 192 add_action('enqueue_block_editor_assets', 'ultrapress_editor_styles'); … … 186 202 'inc/extras/breadcrumb.php', 187 203 'inc/extras/dynamic-sidebar.php', 204 'inc/extras/block-styles.php', 188 205 'inc/widgets/custom-widgets.php', 189 206 ); … … 208 225 } 209 226 210 if (class_exists('UT_Demo_Importer')) {211 require_once get_template_directory() . '/inc/config/config-data.php';212 }213 227 require get_template_directory() . '/inc/ultrapress-tgmpa.php'; -
ultrapress/1.2.3/inc/extras/dynamic-sidebar.php
r256102 r343854 65 65 } 66 66 public function enqueue_widget_scripts() { 67 wp_enqueue_style( 'ultrapress-admin-css', get_template_directory_uri() . '/assets/css/admin.css' );67 wp_enqueue_style( 'ultrapress-admin-css', get_template_directory_uri() . '/assets/css/admin.css', array(), ULTRAPRESS_VERSION ); 68 68 wp_enqueue_script( 'ultrapress-widgets', get_template_directory_uri() . '/assets/js/dynamic-sidebar.js', array('jquery'), '20151215', true); 69 69 $localize = []; -
ultrapress/1.2.3/inc/extras/woocommerce.php
r256102 r343854 14 14 $min = ''; 15 15 } 16 wp_enqueue_style( 'ultrapress-woocommerce-style', get_template_directory_uri() . '/assets/css/woo'.$min.'.css' );16 wp_enqueue_style( 'ultrapress-woocommerce-style', get_template_directory_uri() . '/assets/css/woo'.$min.'.css', array(), ULTRAPRESS_VERSION ); 17 17 } 18 18 add_action( 'wp_enqueue_scripts', 'ultrapress_woocommerce_scripts',10); -
ultrapress/1.2.3/inc/ultrapress-customizer/customizers/archive/blog.php
r256102 r343854 147 147 ) 148 148 ) ); 149 150 // Upsell button151 $wp_customize->add_setting( 'ultrapress_blog_upsell',152 array(153 'default' => false,154 'transport' => 'refresh',155 'sanitize_callback' => 'sanitize_text_field'156 )157 );158 $wp_customize->add_control(159 new Ultrapress_Control_Description(160 $wp_customize, 'ultrapress_blog_upsell',161 array(162 'section' => 'ultrapress_blog_page_section',163 )164 )165 ); -
ultrapress/1.2.3/inc/ultrapress-customizer/customizers/archive/single.php
r256102 r343854 118 118 ) 119 119 ); 120 // Upsell button121 $wp_customize->add_setting( 'ultrapress_single_post_upsell',122 array(123 'default' => false,124 'transport' => 'refresh',125 'sanitize_callback' => 'sanitize_text_field'126 )127 );128 $wp_customize->add_control(129 new Ultrapress_Control_Description(130 $wp_customize, 'ultrapress_single_post_upsell',131 array(132 'section' => 'ultrapress_single_post_section',133 )134 )135 ); -
ultrapress/1.2.3/inc/ultrapress-customizer/customizers/bread-banner/banner.php
r256102 r343854 167 167 ) 168 168 ); 169 170 // Upsell button171 $wp_customize->add_setting( 'ultrapress_banner_upsell',172 array(173 'default' => false,174 'transport' => 'refresh',175 'sanitize_callback' => 'sanitize_text_field'176 )177 );178 $wp_customize->add_control(179 new Ultrapress_Control_Description(180 $wp_customize, 'ultrapress_banner_upsell',181 array(182 'section' => 'ultrapress_breadcrumb_banner_section',183 )184 )185 ); -
ultrapress/1.2.3/inc/ultrapress-customizer/customizers/typography/heading.php
r256102 r343854 187 187 ) 188 188 ); 189 190 // Upsell button191 $wp_customize->add_setting( 'ultrapress_heading_upsell',192 array(193 'default' => false,194 'transport' => 'refresh',195 'sanitize_callback' => 'sanitize_text_field'196 )197 );198 $wp_customize->add_control(199 new Ultrapress_Control_Description(200 $wp_customize, 'ultrapress_heading_upsell',201 array(202 'label' => esc_html__( 'Developer test', 'ultrapress' ),203 'description' => esc_html__( 'Please select on to enable developer mode. Enabling developer mode will load unminified version of styes and scripts.', 'ultrapress' ),204 'section' => 'ultrapress_heading_style',205 )206 )207 ); -
ultrapress/1.2.3/inc/ultrapress-customizer/inc/custom-controls.php
r256102 r343854 5 5 */ 6 6 if ( class_exists( 'WP_Customize_Control' ) ) { 7 /**8 * Upsell button control9 */10 class Ultrapress_Control_Description extends WP_Customize_Control {11 12 /**13 * The control type.14 *15 * @access public16 * @var string17 */18 public $type = 'upsell-button';19 20 /**21 * The control type.22 *23 * @access public24 * @var string25 */26 public $help = '';27 28 29 /**30 * Render the control's content.31 *32 * @see WP_Customize_Control::render_content()33 */34 protected function render_content() {35 echo '<a href="https://ultrapress.org/wordpress-themes/ultrapress-pro/" class="button button-secondary" target="_blank" rel="noopener">' . esc_html__( 'View Ultrapress Pro Features', 'ultrapress' ) . '</a>';36 }37 }38 39 7 /** 40 8 * Custom Control Base Class … … 361 329 ?> 362 330 <div class="toggle-switch-control"> 363 <?php 364 $feature = isset( $this->feature ) ? $this->feature : ''; 365 if ( $feature == 'locked' ) { 366 $pro_text = esc_html__( '(Pro)', 'ultrapress' ); 367 } else { 368 $pro_text = ''; 369 } 370 ?> 331 <?php $feature = isset( $this->feature ) ? $this->feature : ''; ?> 371 332 <div class="toggle-switch <?php echo esc_attr( $feature ); ?>"> 372 333 <input type="checkbox" id="<?php echo esc_attr( $this->id ); ?>" name="<?php echo esc_attr( $this->id ); ?>" class="toggle-switch-checkbox" value="<?php echo esc_attr( $this->value() ); ?>" … … 381 342 </label> 382 343 </div> 383 <span class="customize-control-title"><?php echo esc_html( $this->label ); ?> <?php echo esc_attr( $pro_text ); ?></span>344 <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span> 384 345 <?php if ( ! empty( $this->description ) ) { ?> 385 346 <span class="customize-control-description"><?php echo esc_html( $this->description ); ?></span> … … 774 735 $content = array_slice( $content->items, 0, $count ); 775 736 } 776 $pro_plugin_file_name = 'ultrapress-pro/ultrapress-pro.php'; 777 $pro_plugin_filename_dir = WP_PLUGIN_DIR . '/ultrapress-pro/ultrapress-pro.php'; 778 if ( class_exists( 'Ultrapress_Pro' ) && file_exists( $pro_plugin_filename_dir ) ) { 779 // get the custom font list 780 $custom_fonts = get_option( 'ultrapress-pro-custom-fonts' ); 781 if ( $custom_fonts ) { 782 $custom_font_list = array(); 783 foreach ( $custom_fonts as $key => $font ) { 784 $custom_font = array(); 785 $kind = 'Custom fonts'; 786 $family = $key; 787 $category = 'sans-serif'; 788 $variants = array( '400', '600', 'bold' ); 789 $custom_font['kind'] = $kind; 790 $custom_font['family'] = $family; 791 $custom_font['category'] = $category; 792 $custom_font['variants'] = $variants; 793 $custom_font_list[] = $custom_font; 794 } 795 $content = array_merge( $custom_font_list, $content ); 796 } 797 // get the adobe typekit font list 798 $kit_info = get_option( 'ultrapress-pro-typekit-fonts' ); 799 $kit_info = isset( $kit_info['custom-typekit-font-details'] ) ? $kit_info['custom-typekit-font-details'] : array(); 800 $font_list = array(); 801 if ( $kit_info ) { 802 foreach ( $kit_info as $font ) { 803 $new_array = array(); 804 $kind = 'Adobe Typekit'; 805 $family = $font['family']; 806 // $family= str_replace('-', ' ', $family); 807 $category = $font['fallback']; 808 $variants = $font['weights']; 809 $new_array['kind'] = $kind; 810 $new_array['family'] = $family; 811 $new_array['category'] = $category; 812 $new_array['variants'] = $variants; 813 $font_list[] = $new_array; 814 } 815 } 816 $new_font_list = json_encode( array_merge( $font_list, $content ) ); 817 return json_decode( $new_font_list ); 818 } else { 819 return $content; 820 } 737 return $content; 821 738 } 822 739 } … … 1038 955 </div> 1039 956 </div> 1040 <?php1041 }1042 }1043 /**1044 * Upsell section1045 *1046 * @author Anthony Hortin <http://maddisondesigns.com>1047 * @license http://www.gnu.org/licenses/gpl-2.0.html1048 * @link https://github.com/maddisondesigns1049 */1050 class Ultrapress_Upsell_Section extends Ultrapress_Custom_Section {1051 1052 /**1053 * The type of control being rendered1054 */1055 public $type = 'ultrapress-upsell';1056 /**1057 * The Upsell URL1058 */1059 public $url = '';1060 /**1061 * The background color for the control1062 */1063 public $backgroundcolor = '';1064 /**1065 * The text color for the control1066 */1067 public $textcolor = '';1068 /**1069 * Enqueue our scripts and styles1070 */1071 public function enqueue() {1072 wp_enqueue_script( 'ultrapress-custom-controls-js', $this->get_ultrapress_resource_url() . 'js/customizer.js', array( 'jquery' ), '1.0', true );1073 wp_enqueue_style( 'ultrapress-custom-controls-css', $this->get_ultrapress_resource_url() . 'css/customizer.css', array(), '1.0', 'all' );1074 }1075 /**1076 * Render the section, and the controls that have been added to it.1077 */1078 protected function render() {1079 $bkgrndcolor = ! empty( $this->backgroundcolor ) ? esc_attr( $this->backgroundcolor ) : '#fff';1080 $color = ! empty( $this->textcolor ) ? esc_attr( $this->textcolor ) : '#555d66';1081 ?>1082 <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="ultrapress_upsell_section accordion-section control-section control-section-<?php echo esc_attr( $this->id ); ?> cannot-expand">1083 <h3 class="upsell-section-title" <?php echo ' style="color:' . esc_attr( $color ) . ';border-left-color:' . esc_attr( $bkgrndcolor ) . ';border-right-color:' . esc_attr( $bkgrndcolor ) . ';"'; ?>>1084 <a href="<?php echo esc_url( $this->url ); ?>" target="_blank" <?php echo ' style="background-color:' . esc_attr( $bkgrndcolor ) . ';color:' . esc_attr( $color ) . ';"'; ?>><?php echo esc_html( $this->title ); ?></a>1085 </h3>1086 </li>1087 957 <?php 1088 958 } … … 1334 1204 } 1335 1205 1336 /**1337 * Typekit Font Select Custom Control1338 *1339 * @author Anthony Hortin <http://maddisondesigns.com>1340 * @license http://www.gnu.org/licenses/gpl-2.0.html1341 * @link https://github.com/maddisondesigns1342 */1343 class Ultrapress_Typekit_Font_Select_Custom_Control extends Ultrapress_Custom_Control {1344 1345 /**1346 * The type of control being rendered1347 */1348 public $type = 'Typekit_fonts';1349 /**1350 * The list of Typekit Fonts1351 */1352 private $fontList = false;1353 /**1354 * The saved font values decoded from json1355 */1356 private $fontValues = array();1357 /**1358 * The index of the saved font within the list of Typekit fonts1359 */1360 private $fontListIndex = 0;1361 /**1362 * The number of fonts to display from the json file. Either positive integer or 'all'. Default = 'all'1363 */1364 private $fontCount = 'all';1365 /**1366 * The font list sort order. Either 'alpha' or 'popular'. Default = 'alpha'1367 */1368 private $fontOrderBy = 'alpha';1369 /**1370 * Get our list of fonts from the json file1371 */1372 public function __construct( $manager, $id, $args = array(), $options = array() ) {1373 parent::__construct( $manager, $id, $args );1374 // Get the font sort order1375 if ( isset( $this->input_attrs['orderby'] ) && strtolower( $this->input_attrs['orderby'] ) === 'popular' ) {1376 $this->fontOrderBy = 'popular';1377 }1378 // Get the list of Google fonts1379 if ( isset( $this->input_attrs['font_count'] ) ) {1380 if ( 'all' != strtolower( $this->input_attrs['font_count'] ) ) {1381 $this->fontCount = ( abs( (int) $this->input_attrs['font_count'] ) > 0 ? abs( (int) $this->input_attrs['font_count'] ) : 'all' );1382 }1383 }1384 $this->fontList = $this->ultrapress_getTypekitFonts( 'all' );1385 // Decode the default json font value1386 $this->fontValues = json_decode( $this->value() );1387 // Find the index of our default font within our list of Typekit fonts1388 $this->fontListIndex = $this->ultrapress_getFontIndex( $this->fontList, $this->fontValues->font );1389 }1390 /**1391 * Enqueue our scripts and styles1392 */1393 public function enqueue() {1394 wp_enqueue_script( 'ultrapress-select2-js', get_template_directory_uri() . '/inc/ultrapress-customizer/js/select2.min.js', array( 'jquery' ), '4.0.6', true );1395 wp_enqueue_script( 'ultrapress-custom-controls-js', $this->get_ultrapress_resource_url() . 'js/customizer.js', array( 'ultrapress-select2-js' ), '1.0', true );1396 wp_enqueue_style( 'ultrapress-custom-controls-css', $this->get_ultrapress_resource_url() . 'css/customizer.css', array(), '1.1', 'all' );1397 wp_enqueue_style( 'ultrapress-select2-css', get_template_directory_uri() . '/inc/ultrapress-customizer/css/select2.min.css', array(), '4.0.6', 'all' );1398 }1399 /**1400 * Export our List of Typekit Fonts to JavaScript1401 */1402 public function to_json() {1403 parent::to_json();1404 $this->json['ultrapressfontslist'] = $this->fontList;1405 }1406 /**1407 * Render the control in the customizer1408 */1409 public function render_content() {1410 $fontCounter = 0;1411 $isFontInList = false;1412 $fontListStr = '';1413 if ( ! empty( $this->fontList ) ) {1414 ?>1415 <div class="typekit_fonts_select_control">1416 <?php if ( ! empty( $this->label ) ) { ?>1417 <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>1418 <?php } ?>1419 <?php if ( ! empty( $this->description ) ) { ?>1420 <span class="customize-control-description"><?php echo esc_html( $this->description ); ?></span>1421 <?php } ?>1422 <input type="hidden" id="<?php echo esc_attr( $this->id ); ?>" name="<?php echo esc_attr( $this->id ); ?>" value="<?php echo esc_attr( $this->value() ); ?>" class="customize-control-typekit-font-selection" <?php $this->link(); ?> />1423 <div class="typekit-fonts">1424 <select class="typekit-fonts-list" control-name="<?php echo esc_attr( $this->id ); ?>">1425 <?php1426 foreach ( $this->fontList as $key => $value ) {1427 ++$fontCounter;1428 $fontListStr .= '<option value="' . esc_attr( $value->family ) . '" ' . selected( $this->fontValues->font, $value->family, false ) . '>' . esc_html( $value->family ) . '</option>';1429 if ( $this->fontValues->font === $value->family ) {1430 $isFontInList = true;1431 }1432 if ( is_int( $this->fontCount ) && $fontCounter === $this->fontCount ) {1433 break;1434 }1435 }1436 if ( ! $isFontInList && $this->fontListIndex ) {1437 // If the default or saved font value isn't in the list of displayed fonts, add it to the top of the list as the default font1438 $fontListStr = '<option value="' . esc_attr( $this->fontList[ $this->fontListIndex ]->family ) . '" ' . selected( $this->fontValues->font, $this->fontList[ $this->fontListIndex ]->family, false ) . '>' . esc_html( $this->fontList[ $this->fontListIndex ]->family ) . ' (default)</option>' . $fontListStr;1439 }1440 // Display our list of font options1441 echo wp_kses(1442 $fontListStr,1443 array(1444 'option' => array(1445 'value' => array(),1446 'selected' => array(),1447 'data-select2-id' => array(),1448 ),1449 'optgroup' => array( 'label' ),1450 )1451 );1452 ?>1453 </select>1454 </div>1455 <div class="customize-control-description"><?php esc_html_e( 'Select weight & style for regular text', 'ultrapress' ); ?></div>1456 <div class="weight-style">1457 <select class="typekit-fonts-regularweight-style">1458 <?php1459 foreach ( $this->fontList[ $this->fontListIndex ]->variants as $key => $value ) {1460 echo '<option value="' . esc_attr( $value ) . '" ' . selected( $this->fontValues->regularweight, $value, false ) . '>' . esc_html( $value ) . '</option>';1461 }1462 ?>1463 </select>1464 </div>1465 1466 1467 <input type="hidden" class="typekit-fonts-category" value="<?php echo esc_html( $this->fontValues->category ); ?>">1468 </div>1469 <?php1470 }1471 }1472 /**1473 * Find the index of the saved font in our multidimensional array of Google Fonts1474 */1475 public function ultrapress_getFontIndex( $haystack, $needle ) {1476 foreach ( $haystack as $key => $value ) {1477 if ( $value->family == $needle ) {1478 return $key;1479 }1480 }1481 return false;1482 }1483 /**1484 * Return the list of Google Fonts from our json file. Unless otherwise specfied, list will be limited to 30 fonts.1485 */1486 public function ultrapress_getTypekitFonts( $count = 30 ) {1487 // Google Fonts json generated from https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity&key=YOUR-API-KEY1488 $kit_info = get_option( 'ultrapress-pro-typekit-fonts' );1489 $kit_info = $kit_info['custom-typekit-font-details'];1490 $font_list = array();1491 foreach ( $kit_info as $font ) {1492 $new_array = array();1493 // print_r($font);1494 $kind = 'typekit';1495 $family = $font['family'];1496 $category = $font['fallback'];1497 $variants = $font['weights'];1498 $new_array['kind'] = $kind;1499 $new_array['family'] = $family;1500 $new_array['category'] = $category;1501 $new_array['variants'] = $variants;1502 $font_list[] = $new_array;1503 }1504 return json_decode( json_encode( $font_list ) );1505 }1506 }1507 1206 } -
ultrapress/1.2.3/inc/ultrapress-customizer/inc/customizer.php
r256102 r343854 29 29 // Register Theme Color Controls 30 30 add_action( 'customize_register', array( $this, 'ultrapress_register_theme_color_controls' ) ); 31 add_action( 'customize_register', array( $this, 'ultrapress_developer_controls' ) );32 add_action( 'customize_register', array( $this, 'ultrapress_seo_controls' ) );33 31 // Ultrapress Theme active callback 34 32 add_action( 'customize_register', array( $this, 'ultrapress_registre_theme_active_callback' ) ); … … 120 118 */ 121 119 public function ultrapress_customizer_sections( $wp_customize ) { 122 $wp_customize->add_section( new Ultrapress_Upsell_Section( $wp_customize, 'ultrapress_upsell_section',123 array(124 'title' => __( 'Upgrade to Pro version', 'ultrapress' ),125 'url' => 'https://ultrapress.org/wordpress-themes/ultrapress-pro/',126 'backgroundcolor' => '#f2513c',127 'textcolor' => '#fff',128 'priority' => 0,129 )130 ) );131 $wp_customize->add_section( new Ultrapress_Upsell_Section( $wp_customize, 'ultrapress_doc_section',132 array(133 'title' => __( 'View Documentation', 'ultrapress' ),134 'url' => 'http://docs.ultrapress.org/docs-category/ultrapress-free-theme',135 'backgroundcolor' => '#344860',136 'textcolor' => '#fff',137 'priority' => 200,138 )139 ) );140 120 141 /**142 * General Style section143 */144 $wp_customize->add_section( 'ultrapress_typography_general_section',145 array(146 'title' => esc_html__( 'General', 'ultrapress' ),147 'panel' => 'ultrapress_typography_panel',148 'priority' => 5149 )150 );151 121 /** 152 122 * Body Style section … … 401 371 */ 402 372 public function ultrapress_register_typography_controls( $wp_customize ) { 403 require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/typography/general.php';404 373 require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/typography/body.php'; 405 374 require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/typography/heading.php'; … … 451 420 } 452 421 /** 453 * Register Developer Mode Control454 */455 public function ultrapress_developer_controls($wp_customize){456 require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/dev/dev.php';457 }458 /**459 * Register Seo setting Control460 */461 public function ultrapress_seo_controls($wp_customize){462 require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/seo/seo.php';463 }464 /**465 422 * Register callback functions 466 423 */ -
ultrapress/1.2.3/inc/ultrapress-functions.php
r256102 r343854 98 98 } 99 99 100 /** 101 * Safely decode the ultrapress_page_options postmeta value. 102 * 103 * Contributor-level users can set arbitrary postmeta, so this value 104 * must never be passed through PHP's unserialize() without disabling 105 * object support -- doing so is a PHP Object Injection vulnerability. 106 * New data is stored as JSON (see ultrapress_save_metaboxes()); this 107 * also reads legacy PHP-serialized data safely for backwards 108 * compatibility, but never instantiates objects while doing so. 109 */ 110 if (!function_exists('ultrapress_decode_page_options')) { 111 function ultrapress_decode_page_options($raw) 112 { 113 if (empty($raw) || !is_string($raw)) { 114 return array(); 115 } 116 $decoded = json_decode($raw, true); 117 if (is_array($decoded)) { 118 return $decoded; 119 } 120 if (is_serialized($raw)) { 121 $decoded = @unserialize($raw, array('allowed_classes' => false)); 122 if (is_array($decoded)) { 123 return $decoded; 124 } 125 } 126 return array(); 127 } 128 } 129 100 130 /* Get Page Meta Options */ 101 131 if (!function_exists('ultrapress_get_page_options')) { … … 103 133 { 104 134 $id = get_the_ID(); 105 $page_meta = get_post_meta($id, 'ultrapress_page_options', true); 106 if (is_serialized($page_meta)) { 107 $page_meta = unserialize($page_meta); 108 } 135 $page_meta = ultrapress_decode_page_options(get_post_meta($id, 'ultrapress_page_options', true)); 109 136 if (isset($page_meta[$key])) { 110 137 return $page_meta[$key]; … … 574 601 if(!function_exists('ultrapress_meta_admin_assets') ) { 575 602 function ultrapress_meta_admin_assets() { 576 wp_enqueue_style('ultrapress-admin-css', get_template_directory_uri() . '/assets/css/admin.css', array('wp-color-picker') );603 wp_enqueue_style('ultrapress-admin-css', get_template_directory_uri() . '/assets/css/admin.css', array('wp-color-picker'), ULTRAPRESS_VERSION); 577 604 wp_enqueue_script('ultrapress-admin-js', get_template_directory_uri() . '/assets/js/admin.js', array('jquery', 'media-upload', 'thickbox', 'wp-color-picker'), '4.3.1', true); 578 605 } … … 625 652 $templates = ultrapress_get_elementor_templates(); 626 653 wp_nonce_field('ultrapress_control_meta_box', 'ultrapress_control_meta_box_nonce'); // Always add nonce to your meta boxes! 627 $page_meta = u nserialize(get_post_meta($post->ID, 'ultrapress_page_options', true));654 $page_meta = ultrapress_decode_page_options(get_post_meta($post->ID, 'ultrapress_page_options', true)); 628 655 $header_type = isset($page_meta['header_type']) ? sanitize_text_field($page_meta['header_type']) : 'default'; 629 656 $custom_header = isset($page_meta['custom_header']) ? (int)$page_meta['custom_header'] : ''; … … 693 720 $image_attributes = wp_get_attachment_image_src($page_logo, $image_size); 694 721 if ($image_attributes) { 695 $image = '<img src="' . esc_url($image_attributes[0]) . '" />';722 $image = '<img src="' . esc_url($image_attributes[0]) . '" alt="' . esc_attr__('Page logo preview', 'ultrapress') . '"/>'; 696 723 $display = 'inline-block'; 697 724 $class = 'has-image'; … … 759 786 $image_attributes = wp_get_attachment_image_src($banner_bgimage, $image_size); 760 787 if ($image_attributes) { 761 $image = '<img src="' . esc_url($image_attributes[0]) . '" />';788 $image = '<img src="' . esc_url($image_attributes[0]) . '" alt="' . esc_attr__('Banner background image preview', 'ultrapress') . '"/>'; 762 789 $display = 'inline-block'; 763 790 $class = 'has-image'; … … 797 824 $sidebar_positions ); if(empty($sidebar_positions) && esc_attr( $field['value'] )=='default'){ echo "checked='checked'"; } ?>/> 798 825 <span> 799 <img src="<?php echo esc_url($field['thumbnail']); ?>" />826 <img src="<?php echo esc_url($field['thumbnail']); ?>" alt="<?php echo esc_attr($field['label']); ?>" /> 800 827 </span> 801 828 <span><?php echo esc_html($field['label']); ?></span> … … 910 937 $data['custom_footer'] = isset($page_meta['custom_footer']) ? (int)$page_meta['custom_footer'] : ''; 911 938 //Save Meta Fields 912 update_post_meta($post_id, 'ultrapress_page_options', serialize($data));913 } 914 } 915 } 939 update_post_meta($post_id, 'ultrapress_page_options', wp_json_encode($data)); 940 } 941 } 942 } -
ultrapress/1.2.3/inc/ultrapress-tgmpa.php
r256102 r343854 81 81 'required' => false, 82 82 ), 83 array(84 'name' => esc_html__('Ultra Demo Importer','ultrapress'),85 'slug' => 'ut-demo-importer',86 'required' => false,87 ),88 83 89 84 ); -
ultrapress/1.2.3/readme.txt
r256102 r343854 1 1 === UltraPress === 2 Contributors: UltraPress3 Requires at least: WordPress 4.74 License: GNU General Public License, version 3 (GPLv3) 5 License URI: https://www.gnu.org/licenses/gpl-3.0.en.html 6 Tags: two-columns, left-sidebar, right-sidebar, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, full-width-template, theme-options, threaded-comments, translation-ready, portfolio, e-commerce, blog, rtl-language-support, block-editor-styles, grid-layout, sticky-post, post-formats, flexible-header, custom-colors, custom-menu 7 Tested up to: 6.7 8 Requires PHP: 5.6 9 Stable tag: 1.2.2 2 Contributors: ultrapress 3 Requires at least: 6.0 4 Tested up to: 7.0.4 5 Requires PHP: 7.4 6 Stable tag: 1.2.3 7 License: GPL-3.0-or-later 8 License URI: https://www.gnu.org/licenses/gpl-3.0.html 9 Tags: two-columns, left-sidebar, right-sidebar, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, full-width-template, theme-options, threaded-comments, translation-ready, portfolio, e-commerce, blog, rtl-language-support, grid-layout, sticky-post, post-formats, flexible-header, custom-colors 10 10 11 11 == Description == 12 UltraPress is a super fast, lightweight, fully customizable, multi-purpose and beautiful WordPress theme. It’s perfect for blogs, personal portfolio, small business(restaurants, wedding planners, plumbers, sport/medical shops), startups, agencies as well as WooCommerce storefront sites and most types of projects. Ultrapress works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer). Ultrapress is also WooCommerce ready, responsive, Retina ready, SEO friendly, RTL & translation ready. Ultrapress comes with many starter free sites which can be used for developing any niche websites for you or your client projects. Looking for a multi-purpose theme? Look no further, UltraPress can be used for building any kind of websites! 13 14 Ultrapress WordPress Theme, Copyright 2020 Uncodethemes 15 Ultrapress is distributed under the terms of the GNU GPL 12 13 UltraPress is a lightweight and customizable multipurpose WordPress theme suitable for blogs, portfolios, business websites, startups, agencies, and WooCommerce stores. 14 15 The theme is compatible with the WordPress block editor (Gutenberg) and popular page builders including Elementor, Brizy, Beaver Builder, and Visual Composer. It supports WooCommerce, custom logos, custom menus, featured images, widget areas, threaded comments, translation, RTL languages, responsive layouts, and extensive customization options for colors, typography, layouts, and branding. 16 17 UltraPress WordPress Theme, Copyright 2020 Uncodethemes. 18 19 UltraPress is distributed under the terms of the GNU General Public License version 3 or later. 16 20 17 21 == Installation == 18 22 19 1. In your admin panel, go to Appearance > Themes and click the Add New button. 20 2. Click Upload Theme and Choose File, then select the theme's .zip file. Click Install Now. 21 3. Click Activate to use your new theme right away. 23 1. Log in to your WordPress administration area. 24 2. Go to Appearance > Themes. 25 3. Click Add New. 26 4. Click Upload Theme. 27 5. Select the UltraPress ZIP file and click Install Now. 28 6. After installation, click Activate. 22 29 23 30 == Frequently Asked Questions == 24 31 25 = Some of the plugins supported by the theme are = 26 27 Supports WooCommerce 28 Supports Elementor PageBuilder 32 = Does UltraPress support WooCommerce? = 33 34 Yes. UltraPress is fully compatible with WooCommerce. 35 36 = Does UltraPress support Elementor? = 37 38 Yes. UltraPress is compatible with Elementor and other popular page builders. 39 40 = Does UltraPress support the WordPress block editor? = 41 42 Yes. UltraPress fully supports the WordPress block editor (Gutenberg). 43 44 = Is UltraPress translation-ready? = 45 46 Yes. UltraPress is translation-ready and supports RTL languages. 47 48 == Upgrade Notice == 49 50 = 1.2.3 = 51 52 This release includes important security fixes, compatibility improvements, and updates to comply with the latest WordPress.org Theme Review requirements. Updating to version 1.2.3 is recommended. 29 53 30 54 == Changelog == 31 == 1.2.2 == 32 * Minor code changes in custom controls functions. 33 * Compatibility checked with latest WordPress 6.7.1, WooCommerce - 9.5.2 and Elementor - 3.26.4 34 35 == 1.2.1 == 36 * Fixed metabox saving issue in classic editor 37 38 == 1.2.0 == 39 * Made compatiable with PHP version 8 and WordPress version 6.2 40 41 == 1.1.9 == 42 * Added upsell button 43 * Added premium feature with disabled 44 * Enqueue google font from local 45 46 == 1.1.8 == 47 * Fixed Elementor custom header design issue while loading page 48 * compatibility check with WordPress 5.7.2 49 * compatibility check with WooCommerce 5.3.0 50 51 == 1.1.7 == 52 * minor changes 53 * compatibility check with WordPress 5.7 54 * compatibility check with WooCommerce 5.1.0 55 56 == 1.1.6 == 57 * updated config file 58 * updated css 59 60 == 1.1.5 == 61 * fixed file missing while updating theme 62 63 == 1.1.4 == 64 * fixed file missing while updating theme 65 66 == 1.1.3 == 67 * fixed file missing while updating theme 68 69 == 1.1.2 == 70 * fixed issue 71 72 == 1.1.1 == 73 * fixed issue 74 75 == 1.1.0 == 76 * fixed issue 77 78 == 1.0.9 == 79 * fixed issue 80 81 == 1.0.8 == 82 * fixed issues 83 84 == 1.0.7 == 85 * fixed adovative height for images 86 * fixed pagination settings 87 * change the position of scroll to top settings in customizer 88 89 == 1.0.6 == 90 * fixed escaping issues 91 92 == 1.0.5 == 93 * fixed slug issues 94 95 == 1.0.4 == 96 * fixed skip link issue 97 * fixed escaping issues 98 99 == 1.0.3 == 100 * fixing bugs 101 102 == 1.0.2 == 103 * fixing bugs 104 105 == 1.0.1 == 106 * Adding prefixing and escaping 107 108 == 1.0.0 == 109 * Initial release 110 111 112 == Credits == 113 114 * Based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html) 115 116 * normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2016 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT) 117 118 ------------------------------------------------------- 119 Slick Slider 120 ------------------------------------------------------- 121 * Slick Slider 122 * License: Licensed under MIT 123 * https://github.com/kenwheeler/slick 124 * https://github.com/kenwheeler/slick/blob/master/LICENSE 125 126 ------------------------------------------------------- 55 56 = 1.2.3 = 57 58 * Fixed a PHP object injection vulnerability caused by the use of unserialize() on the ultrapress_page_options post meta. 59 * Fixed the "Translation loaded too early" notice. 60 * Removed the bundled customizer view documentation section and its unused class. 61 * Removed an unused Font Awesome stylesheet registration. 62 * Fixed the footer copyright symbol rendering. 63 * Added missing alt attributes to all images to improve accessibility. 64 * Added version arguments to enqueued stylesheets to improve browser cache busting. 65 * Added wp-block-styles and responsive-embeds theme support and enabled editor styling via add_editor_style(). 66 * Removed the invalid Block-editor-styles tag from the style.css and readme.txt tags. 67 * Implemented all recommended changes from the Theme Check plugin to meet the latest WordPress Theme Review Standards. 68 69 = 1.2.2 = 70 71 * Minor improvements to custom control functions. 72 * Compatibility tested with WordPress 6.7.1, WooCommerce 9.5.2, and Elementor 3.26.4. 73 74 = 1.2.1 = 75 76 * Fixed metabox saving issue in the Classic Editor. 77 78 = 1.2.0 = 79 80 * Added compatibility with PHP 8.x and WordPress 6.2. 81 82 = 1.1.9 = 83 84 * Added upsell button. 85 * Added premium feature placeholders. 86 * Loaded Google Fonts locally. 87 88 = 1.1.8 = 89 90 * Fixed Elementor custom header loading issue. 91 * Compatibility tested with WordPress 5.7.2. 92 * Compatibility tested with WooCommerce 5.3.0. 93 94 = 1.1.7 = 95 96 * Minor improvements. 97 * Compatibility tested with WordPress 5.7. 98 * Compatibility tested with WooCommerce 5.1.0. 99 100 = 1.1.6 = 101 102 * Updated configuration files. 103 * Updated CSS. 104 105 = 1.1.5 = 106 107 * Fixed missing files during theme updates. 108 109 = 1.1.4 = 110 111 * Fixed missing files during theme updates. 112 113 = 1.1.3 = 114 115 * Fixed missing files during theme updates. 116 117 = 1.1.2 = 118 119 * Minor bug fixes. 120 121 = 1.1.1 = 122 123 * Minor bug fixes. 124 125 = 1.1.0 = 126 127 * Minor bug fixes. 128 129 = 1.0.9 = 130 131 * Minor bug fixes. 132 133 = 1.0.8 = 134 135 * General improvements and bug fixes. 136 137 = 1.0.7 = 138 139 * Fixed adaptive image height. 140 * Fixed pagination settings. 141 * Updated Scroll to Top Customizer settings. 142 143 = 1.0.6 = 144 145 * Fixed escaping issues. 146 147 = 1.0.5 = 148 149 * Fixed slug issues. 150 151 = 1.0.4 = 152 153 * Fixed skip link issue. 154 * Fixed escaping issues. 155 156 = 1.0.3 = 157 158 * Bug fixes. 159 160 = 1.0.2 = 161 162 * Bug fixes. 163 164 = 1.0.1 = 165 166 * Improved prefixing and escaping. 167 168 = 1.0.0 = 169 170 * Initial release. 171 172 == Resources == 173 174 UltraPress includes or is based on the following third-party resources. 175 176 = Underscores = 177 178 Source: https://underscores.me/ 179 Copyright: 2012–2017 Automattic, Inc. 180 License: GPL-2.0-or-later 181 License URI: https://www.gnu.org/licenses/gpl-2.0.html 182 183 = normalize.css = 184 185 Source: https://necolas.github.io/normalize.css/ 186 Copyright: Nicolas Gallagher and Jonathan Neal 187 License: MIT 188 License URI: https://opensource.org/licenses/MIT 189 190 = Slick Slider = 191 192 Source: https://github.com/kenwheeler/slick 193 License: MIT 194 License URI: https://github.com/kenwheeler/slick/blob/master/LICENSE 195 127 196 = Select2 = 128 ------------------------------------------------------- 129 * Copyright 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors 130 * License: Licensed under MIT. 131 * https://github.com/select2/select2 132 133 ------------------------------------------------------- 197 198 Source: https://github.com/select2/select2 199 Copyright: Kevin Brown, Igor Vaynberg, and contributors 200 License: MIT 201 License URI: https://github.com/select2/select2/blob/develop/LICENSE.md 202 134 203 = Isotope = 135 ------------------------------------------------------- 136 * License: Licensed under GPLv3 . 137 * https://isotope.metafizzy.co/license.html 138 139 ------------------------------------------------------- 204 205 Source: https://isotope.metafizzy.co/ 206 License: GPL-3.0-or-later 207 License URI: https://isotope.metafizzy.co/license.html 208 140 209 = Google Fonts = 141 ------------------------------------------------------- 210 142 211 Lato 143 * License: Open Font License 144 * https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL 145 146 ------------------------------------------------------- 147 = FontAwesome = 148 ------------------------------------------------------- 149 Icons used in the Screenshot image are all licensed under Creative Commons ( CC BY 4.0 ) 150 License ( https://fontawesome.com/license/free ) 151 https://fontawesome.com/v5/icons/facebook-f?s=brands 152 https://fontawesome.com/icons/twitter?s=brands 153 https://fontawesome.com/icons/instagram?s=brands 154 155 ------------------------------------------------------- 156 = TGM Plugin Activation library = 157 ------------------------------------------------------- 158 * License: Licensed GPL-2.0 or later license. 159 * http://www.opensource.org/licenses/GPL-2.0 160 161 ------------------------------------------------------- 212 213 License: SIL Open Font License 1.1 214 215 License URI: 216 https://scripts.sil.org/OFL 217 218 = Font Awesome Free = 219 220 Source: 221 https://fontawesome.com/ 222 223 Icons: CC BY 4.0 224 225 Fonts: SIL Open Font License 1.1 226 227 Code: MIT 228 229 License: 230 https://fontawesome.com/license/free 231 232 = TGM Plugin Activation = 233 234 Source: 235 https://github.com/TGMPA/TGM-Plugin-Activation 236 237 License: 238 GPL-2.0-or-later 239 162 240 = Webfont Loader = 163 ------------------------------------------------------- 164 * License: Licensed under MIT 165 * https://github.com/WPTT/webfont-loader/blob/master/LICENSE 166 * https://github.com/WPTT/webfont-loader 167 168 ------------------------------------------------------- 169 = Customizer Class Control License = 170 ------------------------------------------------------- 171 * Custom Control Base Class, Custom Section Base Class, Image Checkbox Custom Control, Text Radio Button Custom Control, Image Radio Button Custom Control, Single Accordion Custom Control, Simple Notice Custom Control, Slider Custom Control, Toggle Switch Custom Control, Sortable Repeater Custom Control, Dropdown Posts Custom Control, TinyMCE Custom Control, Google Font Select Custom Control, WPColorPicker Alpha Color Picker Custom Control, Sortable Pill Checkbox Custom Control 172 * Credit Anthony Hortin 173 * License: Licensed under GPL-2.0 174 * http://www.gnu.org/licenses/gpl-2.0.html 175 ------------------------------------------------------- 176 * Alpha Color Picker Custom Control 177 * Credit Braad Martin 178 * License: Licensed under GPL-2.0 179 * http://www.gnu.org/licenses/gpl-2.0.html 180 181 ------------------------------------------------------- 182 Screenshot Licenses 183 ------------------------------------------------------- 184 Screenshot images are all licensed under CCO Universal 241 242 Source: 243 https://github.com/WPTT/webfont-loader 244 245 License: 246 MIT 247 248 = Customizer Controls = 249 250 Based on work by Anthony Hortin. 251 252 License: 253 GPL-2.0-or-later 254 255 = Alpha Color Picker = 256 257 Based on work by Braad Martin. 258 259 License: 260 GPL-2.0-or-later 261 262 == Screenshot License == 263 264 The screenshot image included with the theme is licensed under the CC0 1.0 Universal Public Domain Dedication. 265 266 Credit: Kristin Hardwick 267 268 Source: 185 269 https://stocksnap.io/photo/inspirational-word-RWBGK0N3M1 186 270 187 ------------------------------------------------------- 188 == Screenshot Licenses == 189 ------------------------------------------------------- 190 Screenshot images are all licensed under CCO Universal 191 Image for theme screenshot, Credit Kristin Hardwick 192 License: CC0 1.0 Universal (CC0 1.0) 193 License URL: https://stocksnap.io/license 194 https://stocksnap.io/photo/inspirational-word-RWBGK0N3M1 271 License: 272 https://stocksnap.io/license -
ultrapress/1.2.3/style.css
r256102 r343854 4 4 Author: UltraPress 5 5 Author URI: https://ultrapress.org 6 Version: 1.2.2 7 Requires at least: WordPress 4.7 8 Tested up to: WordPress 6.7.1 9 Requires PHP: 5.6 10 License: GNU General Public License, version 3 (GPLv3) 11 License URI: http://www.gnu.org/licenses/gpl-3.0.txt 6 Description: UltraPress is a lightweight and customizable multipurpose WordPress theme suitable for blogs, portfolios, business websites, startups, agencies, and WooCommerce stores. It is compatible with the WordPress block editor (Gutenberg) and popular page builders, including Elementor, Brizy, Beaver Builder, and Visual Composer. The theme supports custom logos, custom menus, featured images, widget areas, threaded comments, translation, RTL languages, responsive layouts, and extensive customization options. 7 Version: 1.2.3 8 Requires at least: 6.0 9 Tested up to: 7.0.4 10 Requires PHP: 7.4 11 License: GPL-3.0-or-later 12 License URI: https://www.gnu.org/licenses/gpl-3.0.html 12 13 Text Domain: ultrapress 13 14 Tags: two-columns, left-sidebar, right-sidebar, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, full-width-template, theme-options, threaded-comments, translation-ready, portfolio, e-commerce, blog, rtl-language-support, grid-layout, sticky-post, post-formats, flexible-header, custom-colors 14 Description: UltraPress is a super fast, lightweight, fully customizable, multi-purpose and beautiful WordPress theme. It’s perfect for blogs, personal portfolio, small business(restaurants, wedding planners, plumbers, sport/medical shops), startups, agencies as well as WooCommerce storefront sites and most types of projects. Ultrapress works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer). Ultrapress is also WooCommerce ready, responsive, Retina ready, SEO friendly, RTL & translation ready. Ultrapress comes with many starter free sites which can be used for developing any niche websites for you or your client projects. Looking for a multi-purpose theme? Look no further, UltraPress can be used for building any kind of websites!15 15 */ 16 16 -
ultrapress/1.2.3/template-parts/footer/footer-default.php
r256102 r343854 13 13 }else{ 14 14 /* translators: %s, %s: Copyright year, Powered by text */ 15 printf( esc_html__( 'Copyright © %1$s | Powered by %2$s', 'ultrapress' ), esc_html(date("Y")).' '.esc_html(get_bloginfo()), '<a href=" ' . esc_url('https://ultrapress.org/wordpress-themes/ultrapress-free') . ' " rel="designer" target="_blank">UltraPress Theme</a>' );15 printf( __( 'Copyright © %1$s | Powered by %2$s', 'ultrapress' ), esc_html(date("Y")).' '.esc_html(get_bloginfo()), '<a href=" ' . esc_url('https://ultrapress.org/wordpress-themes/ultrapress-free') . ' " rel="designer" target="_blank">UltraPress Theme</a>' ); 16 16 } 17 17 ?>
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)