Make WordPress Themes

Changeset 343854


Ignore:
Timestamp:
08/14/2026 08:55:50 AM (2 months ago)
Author:
themedropbox
Message:

New version of UltraPress - 1.2.3

Location:
ultrapress/1.2.3
Files:
1 added
4 deleted
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ultrapress/1.2.3/functions.php

    r256102 r343854  
    4545                 */
    4646                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');
    4750                /*
    4851                 * Enable support for Post Thumbnails on posts and pages.
    … …  
    5457                add_image_size('ultrapress_archive_default', 360, 450, true);
    5558                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                 ));
    6059                /*
    6160                 * Switch default core markup for search form, comment form, and comments
    … …  
    9089endif;
    9190add_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 */
     99if (!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}
     108add_action('init', 'ultrapress_register_nav_menus');
    92109/**
    93110 * Set the content width in pixels, based on the theme's design and stylesheet.
    … …  
    148165        /* Styles */
    149166        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);
    155171
    156172        /* Scripts */
    … …  
    172188function ultrapress_editor_styles()
    173189{
    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);
    175191}
    176192add_action('enqueue_block_editor_assets', 'ultrapress_editor_styles');
    … …  
    186202        'inc/extras/breadcrumb.php',
    187203        'inc/extras/dynamic-sidebar.php',
     204        'inc/extras/block-styles.php',
    188205        'inc/widgets/custom-widgets.php',
    189206);
    … …  
    208225}
    209226
    210 if (class_exists('UT_Demo_Importer')) {
    211         require_once get_template_directory() . '/inc/config/config-data.php';
    212 }
    213227require get_template_directory() . '/inc/ultrapress-tgmpa.php';
  • ultrapress/1.2.3/inc/extras/dynamic-sidebar.php

    r256102 r343854  
    6565    }
    6666    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 );
    6868        wp_enqueue_script( 'ultrapress-widgets', get_template_directory_uri() . '/assets/js/dynamic-sidebar.js', array('jquery'), '20151215', true);
    6969        $localize = [];
  • ultrapress/1.2.3/inc/extras/woocommerce.php

    r256102 r343854  
    1414        $min = '';
    1515    }
    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 );
    1717}
    1818add_action( 'wp_enqueue_scripts', 'ultrapress_woocommerce_scripts',10);
  • ultrapress/1.2.3/inc/ultrapress-customizer/customizers/archive/blog.php

    r256102 r343854  
    147147        )
    148148) );
    149 
    150 // Upsell button
    151 $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  
    118118        )
    119119);
    120 // Upsell button
    121 $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  
    167167        )
    168168);
    169 
    170 // Upsell button
    171 $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  
    187187        )
    188188);
    189 
    190 // Upsell button
    191 $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  
    55 */
    66if ( class_exists( 'WP_Customize_Control' ) ) {
    7         /**
    8          * Upsell button control
    9          */
    10         class Ultrapress_Control_Description extends WP_Customize_Control {
    11 
    12                 /**
    13                  * The control type.
    14                  *
    15                  * @access public
    16                  * @var string
    17                  */
    18                 public $type = 'upsell-button';
    19 
    20                 /**
    21                  * The control type.
    22                  *
    23                  * @access public
    24                  * @var string
    25                  */
    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 
    397        /**
    408         * Custom Control Base Class
    … …  
    361329                        ?>
    362330                        <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 : ''; ?>
    371332                                                                <div class="toggle-switch <?php echo esc_attr( $feature ); ?>">
    372333                                        <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() ); ?>"
    … …  
    381342                                        </label>
    382343                                </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>
    384345                                <?php if ( ! empty( $this->description ) ) { ?>
    385346                                        <span class="customize-control-description"><?php echo esc_html( $this->description ); ?></span>
    … …  
    774735                                $content = array_slice( $content->items, 0, $count );
    775736                        }
    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;
    821738                }
    822739        }
    … …  
    1038955                                </div>
    1039956                        </div>
    1040                         <?php
    1041                 }
    1042         }
    1043         /**
    1044          * Upsell section
    1045          *
    1046          * @author Anthony Hortin <http://maddisondesigns.com>
    1047          * @license http://www.gnu.org/licenses/gpl-2.0.html
    1048          * @link https://github.com/maddisondesigns
    1049          */
    1050         class Ultrapress_Upsell_Section extends Ultrapress_Custom_Section {
    1051 
    1052                 /**
    1053                  * The type of control being rendered
    1054                  */
    1055                 public $type = 'ultrapress-upsell';
    1056                 /**
    1057                  * The Upsell URL
    1058                  */
    1059                 public $url = '';
    1060                 /**
    1061                  * The background color for the control
    1062                  */
    1063                 public $backgroundcolor = '';
    1064                 /**
    1065                  * The text color for the control
    1066                  */
    1067                 public $textcolor = '';
    1068                 /**
    1069                  * Enqueue our scripts and styles
    1070                  */
    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>
    1087957                        <?php
    1088958                }
    … …  
    13341204        }
    13351205
    1336         /**
    1337          * Typekit Font Select Custom Control
    1338          *
    1339          * @author Anthony Hortin <http://maddisondesigns.com>
    1340          * @license http://www.gnu.org/licenses/gpl-2.0.html
    1341          * @link https://github.com/maddisondesigns
    1342          */
    1343         class Ultrapress_Typekit_Font_Select_Custom_Control extends Ultrapress_Custom_Control {
    1344 
    1345                 /**
    1346                  * The type of control being rendered
    1347                  */
    1348                 public $type = 'Typekit_fonts';
    1349                 /**
    1350                  * The list of Typekit Fonts
    1351                  */
    1352                 private $fontList = false;
    1353                 /**
    1354                  * The saved font values decoded from json
    1355                  */
    1356                 private $fontValues = array();
    1357                 /**
    1358                  * The index of the saved font within the list of Typekit fonts
    1359                  */
    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 file
    1371                  */
    1372                 public function __construct( $manager, $id, $args = array(), $options = array() ) {
    1373                         parent::__construct( $manager, $id, $args );
    1374                         // Get the font sort order
    1375                         if ( isset( $this->input_attrs['orderby'] ) && strtolower( $this->input_attrs['orderby'] ) === 'popular' ) {
    1376                                 $this->fontOrderBy = 'popular';
    1377                         }
    1378                         // Get the list of Google fonts
    1379                         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 value
    1386                         $this->fontValues = json_decode( $this->value() );
    1387                         // Find the index of our default font within our list of Typekit fonts
    1388                         $this->fontListIndex = $this->ultrapress_getFontIndex( $this->fontList, $this->fontValues->font );
    1389                 }
    1390                 /**
    1391                  * Enqueue our scripts and styles
    1392                  */
    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 JavaScript
    1401                  */
    1402                 public function to_json() {
    1403                         parent::to_json();
    1404                         $this->json['ultrapressfontslist'] = $this->fontList;
    1405                 }
    1406                 /**
    1407                  * Render the control in the customizer
    1408                  */
    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                                                         <?php
    1426                                                         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 font
    1438                                                                 $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 options
    1441                                                         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                                                         <?php
    1459                                                         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                                 <?php
    1470                         }
    1471                 }
    1472                 /**
    1473                  * Find the index of the saved font in our multidimensional array of Google Fonts
    1474                  */
    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-KEY
    1488                         $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         }
    15071206}
  • ultrapress/1.2.3/inc/ultrapress-customizer/inc/customizer.php

    r256102 r343854  
    2929                // Register Theme Color Controls
    3030                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' ) );
    3331                // Ultrapress Theme active callback
    3432                add_action( 'customize_register', array( $this, 'ultrapress_registre_theme_active_callback' ) );
    … …  
    120118         */
    121119        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                 ) );
    140120
    141                 /**
    142                  * General Style section
    143                  */
    144                 $wp_customize->add_section( 'ultrapress_typography_general_section',
    145                         array(
    146                                 'title' => esc_html__( 'General', 'ultrapress' ),
    147                                 'panel' => 'ultrapress_typography_panel',
    148                                 'priority' => 5
    149                         )
    150                 );
    151121                /**
    152122                 * Body Style section
    … …  
    401371         */
    402372        public function ultrapress_register_typography_controls( $wp_customize ) {
    403                 require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/typography/general.php';
    404373                require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/typography/body.php';
    405374                require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/typography/heading.php';
    … …  
    451420        }
    452421        /**
    453         * Register Developer Mode Control
    454         */
    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 Control
    460         */
    461         public function ultrapress_seo_controls($wp_customize){
    462                 require_once trailingslashit( get_template_directory() ) . 'inc/ultrapress-customizer/customizers/seo/seo.php';
    463         }
    464         /**
    465422        * Register callback functions
    466423        */
  • ultrapress/1.2.3/inc/ultrapress-functions.php

    r256102 r343854  
    9898}
    9999
     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 */
     110if (!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
    100130/* Get Page Meta Options */
    101131if (!function_exists('ultrapress_get_page_options')) {
    … …  
    103133        {
    104134                $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));
    109136                if (isset($page_meta[$key])) {
    110137                        return $page_meta[$key];
    … …  
    574601if(!function_exists('ultrapress_meta_admin_assets') ) {
    575602        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);
    577604                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);
    578605        }
    … …  
    625652                $templates = ultrapress_get_elementor_templates();
    626653                wp_nonce_field('ultrapress_control_meta_box', 'ultrapress_control_meta_box_nonce'); // Always add nonce to your meta boxes!
    627                 $page_meta = unserialize(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));
    628655                $header_type = isset($page_meta['header_type']) ? sanitize_text_field($page_meta['header_type']) : 'default';
    629656                $custom_header = isset($page_meta['custom_header']) ? (int)$page_meta['custom_header'] : '';
    … …  
    693720                                                $image_attributes = wp_get_attachment_image_src($page_logo, $image_size);
    694721                                                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') . '"/>';
    696723                                                        $display = 'inline-block';
    697724                                                        $class = 'has-image';
    … …  
    759786                                                $image_attributes = wp_get_attachment_image_src($banner_bgimage, $image_size);
    760787                                                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') . '"/>';
    762789                                                        $display = 'inline-block';
    763790                                                        $class = 'has-image';
    … …  
    797824                                            $sidebar_positions ); if(empty($sidebar_positions) && esc_attr( $field['value'] )=='default'){ echo "checked='checked'";  } ?>/>
    798825                                                                                                <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']); ?>" />
    800827                                                                                                </span>
    801828                                                                                                <span><?php echo esc_html($field['label']); ?></span>
    … …  
    910937                        $data['custom_footer'] = isset($page_meta['custom_footer']) ? (int)$page_meta['custom_footer'] : '';
    911938                        //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  
    8181                        'required'  => false,
    8282                ),
    83                 array(
    84                         'name'      => esc_html__('Ultra Demo Importer','ultrapress'),
    85                         'slug'      => 'ut-demo-importer',
    86                         'required'  => false,
    87                 ),
    8883
    8984        );
  • ultrapress/1.2.3/readme.txt

    r256102 r343854  
    11=== UltraPress ===
    2 Contributors: UltraPress
    3 Requires at least: WordPress 4.7
    4 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
     2Contributors: ultrapress
     3Requires at least: 6.0
     4Tested up to: 7.0.4
     5Requires PHP: 7.4
     6Stable tag: 1.2.3
     7License: GPL-3.0-or-later
     8License URI: https://www.gnu.org/licenses/gpl-3.0.html
     9Tags: 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
    1010
    1111== 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
     13UltraPress is a lightweight and customizable multipurpose WordPress theme suitable for blogs, portfolios, business websites, startups, agencies, and WooCommerce stores.
     14
     15The 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
     17UltraPress WordPress Theme, Copyright 2020 Uncodethemes.
     18
     19UltraPress is distributed under the terms of the GNU General Public License version 3 or later.
    1620
    1721== Installation ==
    1822
    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.
     231. Log in to your WordPress administration area.
     242. Go to Appearance > Themes.
     253. Click Add New.
     264. Click Upload Theme.
     275. Select the UltraPress ZIP file and click Install Now.
     286. After installation, click Activate.
    2229
    2330== Frequently Asked Questions ==
    2431
    25 = Some of the plugins supported by the theme are =
    26 
    27 Supports WooCommerce
    28 Supports Elementor PageBuilder
     32= Does UltraPress support WooCommerce? =
     33
     34Yes. UltraPress is fully compatible with WooCommerce.
     35
     36= Does UltraPress support Elementor? =
     37
     38Yes. UltraPress is compatible with Elementor and other popular page builders.
     39
     40= Does UltraPress support the WordPress block editor? =
     41
     42Yes. UltraPress fully supports the WordPress block editor (Gutenberg).
     43
     44= Is UltraPress translation-ready? =
     45
     46Yes. UltraPress is translation-ready and supports RTL languages.
     47
     48== Upgrade Notice ==
     49
     50= 1.2.3 =
     51
     52This 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.
    2953
    3054== 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
     174UltraPress includes or is based on the following third-party resources.
     175
     176= Underscores =
     177
     178Source: https://underscores.me/
     179Copyright: 2012–2017 Automattic, Inc.
     180License: GPL-2.0-or-later
     181License URI: https://www.gnu.org/licenses/gpl-2.0.html
     182
     183= normalize.css =
     184
     185Source: https://necolas.github.io/normalize.css/
     186Copyright: Nicolas Gallagher and Jonathan Neal
     187License: MIT
     188License URI: https://opensource.org/licenses/MIT
     189
     190= Slick Slider =
     191
     192Source: https://github.com/kenwheeler/slick
     193License: MIT
     194License URI: https://github.com/kenwheeler/slick/blob/master/LICENSE
     195
    127196= 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
     198Source: https://github.com/select2/select2
     199Copyright: Kevin Brown, Igor Vaynberg, and contributors
     200License: MIT
     201License URI: https://github.com/select2/select2/blob/develop/LICENSE.md
     202
    134203= Isotope =
    135 -------------------------------------------------------
    136 * License: Licensed under GPLv3 .
    137 * https://isotope.metafizzy.co/license.html
    138 
    139 -------------------------------------------------------
     204
     205Source: https://isotope.metafizzy.co/
     206License: GPL-3.0-or-later
     207License URI: https://isotope.metafizzy.co/license.html
     208
    140209= Google Fonts =
    141 -------------------------------------------------------
     210
    142211Lato
    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
     213License: SIL Open Font License 1.1
     214
     215License URI:
     216https://scripts.sil.org/OFL
     217
     218= Font Awesome Free =
     219
     220Source:
     221https://fontawesome.com/
     222
     223Icons: CC BY 4.0
     224
     225Fonts: SIL Open Font License 1.1
     226
     227Code: MIT
     228
     229License:
     230https://fontawesome.com/license/free
     231
     232= TGM Plugin Activation =
     233
     234Source:
     235https://github.com/TGMPA/TGM-Plugin-Activation
     236
     237License:
     238GPL-2.0-or-later
     239
    162240= 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
     242Source:
     243https://github.com/WPTT/webfont-loader
     244
     245License:
     246MIT
     247
     248= Customizer Controls =
     249
     250Based on work by Anthony Hortin.
     251
     252License:
     253GPL-2.0-or-later
     254
     255= Alpha Color Picker =
     256
     257Based on work by Braad Martin.
     258
     259License:
     260GPL-2.0-or-later
     261
     262== Screenshot License ==
     263
     264The screenshot image included with the theme is licensed under the CC0 1.0 Universal Public Domain Dedication.
     265
     266Credit: Kristin Hardwick
     267
     268Source:
    185269https://stocksnap.io/photo/inspirational-word-RWBGK0N3M1
    186270
    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
     271License:
     272https://stocksnap.io/license
  • ultrapress/1.2.3/style.css

    r256102 r343854  
    44Author: UltraPress
    55Author 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
     6Description: 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.
     7Version: 1.2.3
     8Requires at least: 6.0
     9Tested up to: 7.0.4
     10Requires PHP: 7.4
     11License: GPL-3.0-or-later
     12License URI: https://www.gnu.org/licenses/gpl-3.0.html
    1213Text Domain: ultrapress
    1314Tags: 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!
    1515*/
    1616
  • ultrapress/1.2.3/template-parts/footer/footer-default.php

    r256102 r343854  
    1313                                }else{
    1414                                        /* translators: %s, %s: Copyright year, Powered by text */
    15                                         printf( esc_html__( 'Copyright &copy; %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 &copy; %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>' );
    1616                                }
    1717                                ?>
Note: See TracChangeset for help on using the changeset viewer.