Actions Lite

Simple, clean and actionable WordPress theme built around Actions. Supports a left or right sidebar, full width narrow as well as full width wide modes. Actions is fully compatible with the Elementor Page builder plugin making it the idea theme for any kind of wibesite builds that you may have in mind.

Actions comes with a Contact Form 7 styler Elementor module giving you extra control on the look and feel of the form right within the Elementor edit screen – style it to much you site and/or page content.

More details, features and documentation coming soon.

Header Controls – Site Title And Menu Side By Side

NOTE: This tutorial is for the Pro version of Actions!

The default header layout looks like the image below i.e Site Title + Header widget(Not eneabled in the image), followed by the Parallax and then the Menu bar.
To get the Site title and the menu bar to be on the same line with the title to the left and the menu on the right follow these steps.

1: Go to the customizer and click on the “Header Options” tabΒ  which will slide open to reveal 4 sections – for out purpose at this moment we are only interested in the “Header Control” section.

2: Click on the “Header Control” section to reveal our controls – see image below

HeaderControls Partial1

 

HeaderControls Partial2

 

3: First, disable the Header Widget by unchecking the box on it’s control bar. Second, hover over the Actions Primary Navigation bar and a 4 pointer will appear. Left click, hold, drag and drop the menu bar just below the “Actions Site Branding” bar

4: In the same screen, scroll further down till you see the options as show in the “HeaderControls Partial2” image above.
5: Leave all options as is and just check the “Menu Position” box which should move the menu bar in line with the Site title – see below image

Recap:
a) Visit Customizer >> Header Options >> Header Controls
b) In the upper part of the pane, disable the Header Widget and Move Actions Primary Navigation to below the Actions Site Branding bar.
c) In the lower part of the pane, check the “Menu Position” checkbox.

The result: You should now have both the Site Title and the Navigation menu on the same line. Proceed with other customization as desired and enjoy πŸ™‚

Pointers To Getting A Theme In The WordPress Repository

Some pointers to getting your theme accepted for hosting in the WordPress repository!

The sad bits:
This time last year the waiting time was way less than what it is today in order to get a theme reviewed, approved and set to live!

Today we have to wait 4 months!

The Que is: 700+ themes awaiting review [View The Que Here] – UPDATE: Good news. The Ques is now down to under 450 tickets – a huge improvement but still some way to go!

We have on average around 70 theme reviewers active in any given week who are doing an awesome job but still out-numbered by the volumes of new themes coming in daily!

The tidbits of issues listed below are not meant to embarrass anyone and there’ll be no name calling either. My intention here to give some pointers to help you help us (TRT) help you if that makes sense?

So, as a theme reviewer these are just some of the issues I see over and over again and if we could all take a little time, care and a bit of attention life will be a little bit easier.

OK let’s have at it!

style.css:
Theme URI: https://wordpress.org/themes/themename/ – No, that’s reserved for default themes. Link to your own domain, please!
Seriously, what could be more reassuring to your user than letting them know where on the net you are and how you can better serve them?

style.css/readme.txt: – No theme copyright declaration. You must declare your theme’s copyright together with its license
YourThemeName
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Copyright (C) 2016 WPDevHQ http://wpdevhq.com/

header.php:
Not conditionally checking on Pingbacks:-

212-2

<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />

The above is incorrect. Use

220-2

<?php if ( is_singular() && pings_open( get_queried_object() ) ) : ?>
	<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php endif; ?>

An even better solution is to use a function callback hooked to the wp_head action like below

225-2

function sabino_pingback_header() {
	if ( is_singular() && pings_open() ) {
		printf( '<link rel="pingback" href="%s">' . "\n", get_bloginfo( 'pingback_url' ) );
	}
}
add_action( 'wp_head', 'sabino_pingback_header' );

header.php:
Hard coding scripts in the header – I see the below code in header.php and I’m like hello? That’s old school dude. Get enqueueing!

230-2

<link href='http://fonts.googleapis.com/css?family=Lato' rel='stylesheet' type='text/css'>

Not sure how to do it? Take a look at the default themes or simply ask πŸ™‚

header.php: Escape please!!! home_url() is a no no, use esc_url( home_url( '/' ) ); instead. Notice the spaces πŸ˜‰
And then there are times we escape but use the wrong value – like esc_url(site_url('/'));
Let’s see who knows the difference here πŸ˜‰

@package WordPress in theme files – Remove it! It’s reserved for default themes.
What the above means is that the theme is part of WordPress i.e. the default theme(s). Mine and yours are not πŸ™‚

Translation/Internationalization:
Like when you forget/omit or simply carelessly don’t include the textdomain

235-2

<button class="menu-toggle"><?php _e( 'Primary Menu' ); ?></button>

If in doubt check and check again!

Options – Baking my own:

add_action( 'admin_menu', 'theme_options_menu' );
add_action( 'admin_init', 'settings_init' );

Please don’t take the biscuit! Use the Customizer will you. The good news here is that we are seeing very less of this but it’s still happening to be worthy of a mention!

Taking initiative, wrongly with:- update_option( 'default_options', $settings );. erm hello, what are you doing? The rule here is that a theme must not save any option without the user’s interaction.

As if taking the biscuit and baking my own wasn’t enough – now I wanna add my own flavour like so:…

wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
wp_enqueue_script( 'jquery' );

Don’t do it!!! Security and you are going to break a few plugins in the process.

OK I admit, I think I was a bit hungry when I was writing the above but you get my drift don’t you?

Sometimes enthusiasm can get the better of us: add_action( 'init', 'themename_widgets_init' ); widgets_init is the correct hook to use.

Let’s not forget that awesome looking screenshot:- huh! What do you mean I gotta add x-plugin plus z-plugin and press that thingymajig to get anywhere near how the screenshot looks? I say, let’s keep it simple. I little tease? Yes of course πŸ™‚ just don’t over do it!

These are just a few things that crop up time and time again with theme’s submitted for review and a little care and attention can go a long way to get your theme approved quicker. Plus think of the amount of time it would save the reviewers and yourself while at the same time helping to reduce that long, long Que.

I remember the days when one could submit a theme, get it reviewed after 2/3 weeks and it’s live in the repository by the 4th week at the latest. Now? We have to wait 4 months mostly because of those silly little issues above that keep cropping up.

Talking about waiting times, we at the TRT (The Review Team) know and understand how frustrating it can be – after all, some of us are also theme developers. We feel you so help us to better help you πŸ™‚

A final thought: Just imagine – if each developer that submits a theme was to take a little time and review at least one theme in return πŸ™‚ And what if you could say 5 or even better, 10 themes in a week?

Just imagine πŸ˜‰

Sometimes we do miss things: Common Admin Review Issues

For an indepth guide on what is doing_it_wrong() and how to do_it_wright() please refer to the Doing it wrong example theme’s wiki on GitHub

Adding Site Logo Support

As of WordPress v4.5 which is schedulled for release on 12th April the core team has announced that universal site logo function will be included. This means all theme developers have to do is declare the support via add_theme_support( 'custom-logo', size ) action and WordPress will do the rest.

So here’s how to go about adding the declaration and the required function that will generate the output of the logo for us.

WordPress 4.5 support for custom logo
The results for “add_theme_support( ‘custom-logo’, size )”

If you have any questions or suggestions on improving the implementation please feel free to leave a comment and lets have a conversation.