After upgrading to PHP 7.0 my contact form outputs error

WordPress has a built in function for validating emails and I would advise you use that. So you can replace your preg_match with the wordpress is_email else if (!preg_match(“/^[A-Z0-9.%-]+@[A-Z0-9.%-]+.[A-Z]{2,4}$/”, trim($_POST[’email’]))) { $emailError=”You entered an invalid email address.”; $hasError = true; } REPLACED WITH else if ( ! is_email( trim( $_POST[’email’] ) ) ) { $emailError=”You … Read more

Why WordPress uses `endwhile;` inside the templates?

According to the wordpress handbook on php coding standards, braces should be used for all blocks in the style shown below: if ( condition ) { action1(); action2(); } elseif ( condition2 && condition3 ) { action3(); action4(); } else { defaultaction(); } The use of braces means single-statement inline control structures are prohibited so … Read more

Second Navigation inside header

Best is always subjective, however, I’d put it in the following manner to have better control and better arrangement of my templates: A structure to have granular control: First, I’d create a new folder, e.g. template-parts in my theme and then inside that, another folder e.g. navigation (to have separate template parts in different folders). … Read more

Class ‘WP_Widget’ not found

You should never work on core files which are inside wp-admin and wp-includes folder. You’ll be just working on wp-content folder. If you’re developing a plugin, you can directly put the code in your main plugin file or you can put the file inside of your plugin folder and include that file in the plugins … Read more

Use template for posts with a particular category grandparent

Let me update your code 🙂 You don’t need to select grandparent category for your post. First we need to get grandparent category name. Here is the function; function get_grandparents_category_salgur( $id) { $parent = get_term( $id, ‘category’ ); if ( is_wp_error( $parent ) ) return $parent; if ( $parent->parent && ( $parent->parent != $parent->term_id ) … Read more

Print number of post (in reverse)

To print a decreasing counter for the main home query, without sticky posts, you can try: // current page number – paged is 0 on the home page, we use 1 instead $_current_page = is_paged() ? get_query_var( ‘paged’, 1 ) : 1; // posts per page $_ppp = get_query_var( ‘posts_per_page’, get_option( ‘posts_per_page’ ) ); // … Read more

Minify HTML, CSS, JS with PHPWee?

There is little ‘bug’ in PHPWee. It should use <?php instead of <?: <? namespace PHPWee; require_once(“src/CssMin/CssMin.php”); require_once(“src/HtmlMin/HtmlMin.php”); require_once(“src/JsMin/JsMin.php”); // Open-source (BSD) PHP inline minifier functions for HTML, XHTML, HTML5, CSS 1-3 and Javascript. // BSD Licensed – https://github.com/searchturbine/phpwee-php-minifier/blob/master/LICENSE // // Usage // $output = \PHPWee\Minify::html($any_html); // $output = \PHPWee\Minify::css($any_css); // $output = \PHPWee\Minify::js($any_js);

How to set status codes such as 401 and 403?

The same way you would in any other PHP program: header(“HTTP/1.1 401 Unauthorized”); exit; WordPress has special handling for 404 because there’s a 404 template. Usually if something happens such as a 401, there is no special template, but you can make use of wp_die which will show a message in a simple UI header(“HTTP/1.1 … Read more