Giter Site home page Giter Site logo

colorlibhq / shapely Goto Github PK

View Code? Open in Web Editor NEW
58.0 14.0 64.0 9.47 MB

Free multipurpose WordPress theme built using Bootstrap

Home Page: https://colorlib.com/wp/themes/shapely/

PHP 51.10% CSS 15.46% JavaScript 26.67% Shell 0.10% SCSS 6.67%
wordpress wordpress-theme portfolio

shapely's Introduction

Repository clone/download ๐Ÿ”ฅ ๐Ÿ”ฅ ๐Ÿ”ฅ

This repository contains a git sub-module and as such, can not be completely downloaded using the web interface of GitHub. This is a known limitation of GitHub's own tools. However, cloning this repository via CLI works absolutely fine and will pull all sub-modules as long as you use the proper commands.

Here's a short tutorial on how to achieve this as well as a better explanation of what Git sub-modules are and how they're useful: https://gist.github.com/gitaarik/8735255

The Git bach command for cloning the repo after forking is: git clone [link of this repo] The easiest way to go about cloning a repository recursively is to use (Windows only) TortoiseGIT: https://tortoisegit.org/.

Shapely

Build Status

About Shapely

Shapely is a powerful and versatile one-page WordPress theme with pixel-perfect design and outstanding functionality. It is by far the most advanced free WordPress theme available today with loads of unmatched customization options. This theme comes with several homepage widgets that can be used to add portfolio, testimonials, parallax sections, your product or service information, call for action and much more.

Shapely supports most free and premium WordPress plugins such as WooCommerce, Jetpack, Gravity Forms, Kali Forms, Contact Form 7, Yoast SEO, Google Analytics by Yoast and much more.

This theme is best suited for business, landing pages, portfolios, e-commerce, store, local business, and personal websites but can be tweaked to be used as a blog, magazine or any other awesome website while highlighting its unique one-page setup. This is going to be the last WordPress theme you will ever want to use because it is so much better than anything you have seen. We promise.

Documentation

Theme documentation is available here.

License

This theme is licensed under GPLv3. You can feel free to modify it as long as you keep the original copyright information.

shapely's People

Contributors

anamaican avatar andyluak avatar andymacbean avatar aprakasa avatar cristeacosmin avatar cristianraiber avatar dependabot[bot] avatar giorginogreg avatar giucu91 avatar jussipvainionpaa avatar lgtm-migrator avatar mahendrapratap4022 avatar mftruso avatar mythemeshop avatar pad52 avatar puikinsh avatar razvanaldea89 avatar roluochke avatar rtpharry avatar shahpranaf avatar usmanzahidcode avatar vickyb59 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shapely's Issues

Parse error

Parse error in this theme:
Parse error: syntax error, unexpected '[' in */wp-content/themes/shapely/inc/widgets/widget-home-clients.php on line 18

Regards,
Rylko

Error after activating

Hi, i have a problem after activating the theme. White blank in live preview and broken web site after activating theme. On localhost everything works great, but not on the hosted website

Theme Seems to break other parallax plugins

Trying to install other parallax plugins of forge page builder to any of the blog posts results in the parallax not working in the other plugins. Changing the theme to any other and the functionality is restored.

License issue

  • In readme.txt line 10, license for theme is GPL v3 but in styles.css line 8 and readme.me, license is defined as GPL v2
  • Set same license in both files

Unused functions in customizer.php

  • Following unused sanitization functions can be removed as they serve no purpose
  • shapely_sanitize_slidecat
  • shapely_sanitize_radio_header

Menu is not fixed on second scroll onwards

Fixed navigation isn't working properly. It doesn't get fixed on second time your are scrolling down and sometimes it disappears for no reason at all.

This problem occurs in all browsers.

Recommended escaping translation strings

  • All translation functions must be escaped as sometimes an improper translation may break the html.
  • E.g:
    • Almost all instances of __()/_e() need to beesc_html__()/esc_html_e()
      • You have done in most places, but missing in some like function shapely_search_form
    • esc_attr__() where used as attribute values
      • E.g: in widget-home-clients.php line 42 as:
        <img alt="<?php esc_attr_e('Logos', 'shapely'); ?>" src="<?php echo esc_url( $logos['img'][$i] ); ?>" />
      • Also notice escaping image src url
    • passed via wp_kses() if some html elements are required

Double code

  • In functions.php lines 173 to 179, you have enqueue masonry twice
  • Only following code should work as you have done. No need to add jquery as dependency since this is already done by core
    {{{
    if( post_type_exists( 'jetpack-portfolio' ) ){
    wp_enqueue_script( 'jquery-masonry' );
    }
    }}}

Enqueuing admin scripts

  • In function shapely_admin_script() in functions.php, is there any reason you have added wp_enqueue_media(); outside the if( $hook == 'widgets.php' || $hook == 'customize.php' ) condition check?
  • Currently, media scripts are enqueued in all admin pages, which seems unnecessary, so you need to move the line inside the condition as well

Code outside callback function

  • All codes in functions.php must be inside a callback function and hooked properly. Check lines 208-215
  • These codes must be moved inside function shapely_setup() which starts from line 18

esc_attr function returns HTML code as it is

The following esc_attr function used in footer.php file returns HTML code addedin the copyright text field as it is.

<div class="copyright-text"><?php echo esc_attr(get_theme_mod( 'shapely_footer_copyright' )); ?></div>

Missing Output sanitization/escaping

  • All values retrieved using get_theme_mod and used for output needs to be sanitized properly.
  • In extras.php function get_shapely_theme_options, all options that are outputted needs to be escaped via esc_attr() when using using as CSS value
  • E.g: Lines 154-156 becomes:
    if ( get_theme_mod('social_color')) {
        echo '.social-icons li a {color: ' . esc_attr( get_theme_mod('social_color') ) . ' !important ;}';
      }
  • In following, $layout_class needs to be escaped via esc_attr
    • woo-setup.php line 67
    • index.php line 17
    • page.php line 17
    • search.php line 14
    • single.php line 13
  • extras.php line 594 get_theme_mod('blog_name') needs to be escaped properly maybe esc_attr or esc_html depending upon your use case.
  • Use esc_url_raw() to sanitize input links in widget-home-call-for-action.php line 97. esc_url() is for sanitizing output links
    • Also in same file, use esc_attr to sanitize $title, esc_url to sanitize $button_link in line 37
    • Same issue for links in all widget files in widgets folder
  • Need to escape following links using esc_url()
    • extras.php line 247 get_the_permalink(), all instances of get_pagenum_link(), line 542 $logo[0] used as value for href= and src=
    • template-tags.php line 28 get_author_posts_url, line 126 get_category_link
    • widgets/widget-home-clients.php line 41 $logos['link'][$i] and 42 $logos['img'][$i]
    • widgets/widget-home-parallax.php line 63 $button2_link, 64 $button1_link, all instances of $image_src used as html values
    • widgets/widget-home-testimonials.php all instances of$image_src used as html values
    • widgets/widget-recent-posts.php line 55 get_permalink
    • woo-setup.php line 108 $shop_page_url, 110 $cart_url
  • Need to escape following using esc_attr()
    • extras.php line 247 get_the_title(), you can also use the_title_attribute( 'echo=0' ) function here, line 78 and 293 get_search_query()
    • template-tags.php line 28 get_the_author
    • woo-setup.php line 108 $start_shopping, 110 $viewing_cart

Question

  • Is there any reason why function shapely_social_css in socialnav.php cannot be included in main styles.css file?

Report from email

I am currently using your theme Shapely Version: 1.0.5 on Wordpress 4.6 (Mozilla Firefox 48.0 - Linux Mint 17.3 Rosa) and I have stumbled upon an issue with your ' shapely_footer_callout() ' function in extras.php.

I could not display anything on my page through ' Text for footer callout ' neither ' Text for footer callout button ' input options in Customizer/Shapely Options/ Main Options with these lines of code in place from above mentioned function:

<?php esc_attr(get_theme_mod('footer_callout_text')); ?>
<?php esc_attr(get_theme_mod('footer_callout_btntext')); ?>

so I changed them into:

<?php esc_attr_e( ( get_theme_mod('footer_callout_text') ) ? get_theme_mod('footer_callout_text') : 'Text' , 'shapely' ); ?>
<?php esc_attr_e( ( get_theme_mod('footer_callout_btntext') ) ? get_theme_mod('footer_callout_btntext') : 'ButtonText' , 'shapely' ); ?>

Translation ready

  • Make Untitled string in extras.php line 58 translation ready
  • Make Default string in metaboxes.php line 66 translation ready

Few new options

  • hide post/page title next to breadcrumbs while keeping breadcrumbs in place
  • hide post/page title while leaving title which you can see next to breadcrumbs in place

Theme always display the message "The backup of this post in your browser is different from the version below. Restore the backup."

The theme always display the message "The backup of this post in your browser is different from the version below. Restore the backup." in the post and page edit screen.

Find more information about it and the solution for the issue on the following topic
https://colorlib.com/wp/forums/topic/err-the-backup-of-this-post-in-your-browser-is-different-from-the-version-below/#post-50715

Script/Style Handles

  • Third party scripts-styles should not have a prefix in handle to stop these files being loaded multiple times. Check functions.php function shapely_scripts() where you have shapely-icons, flexslider-css
  • e.g:
  • For font awesome,
    wp_enqueue_style( 'font-awesome', , get_template_directory_uri().'/inc/css/font-awesome.min.css' );
  • For more info on handle prefix standard, check https://github.com/grappler/wp-standard-handles

Custom Logo

  • From WordPress version 4.5, logo can be added via theme support and in included in core, so you need to use core function rather than adding you own custom version. More info: https://make.wordpress.org/core/2016/03/10/custom-logo/
  • Also, in customizer.php, I have no idea why you have chosen to use shapely_sanitize_number to sanitize header_logo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.