Are you over 18 and want to see adult content?
More Annotations
![A complete backup of star.ettoday.net/news/1649521](https://www.archivebay.com/archive2/fc9651e9-f516-4459-bf6b-0e3001afb876.png)
A complete backup of star.ettoday.net/news/1649521
Are you over 18 and want to see adult content?
![A complete backup of www.przegladsportowy.pl/pilka-nozna/europuchary/liga-europy/liga-europy-na-zywo-multiliga-le-relacja-i-wyni](https://www.archivebay.com/archive2/7b78a1e0-b6c7-4204-8dec-efea53f571c3.png)
A complete backup of www.przegladsportowy.pl/pilka-nozna/europuchary/liga-europy/liga-europy-na-zywo-multiliga-le-relacja-i-wyni
Are you over 18 and want to see adult content?
Favourite Annotations
![A complete backup of https://upcom.it](https://www.archivebay.com/archive6/images/e97b9c30-b535-470d-8d4d-35715e3327b8.png)
A complete backup of https://upcom.it
Are you over 18 and want to see adult content?
![A complete backup of https://loveisinmytummy.com](https://www.archivebay.com/archive6/images/ba233380-72f5-4590-82da-679e140fef6b.png)
A complete backup of https://loveisinmytummy.com
Are you over 18 and want to see adult content?
![A complete backup of https://sanjuanjournal.com](https://www.archivebay.com/archive6/images/a981f875-e35b-402b-b430-1d11a439332d.png)
A complete backup of https://sanjuanjournal.com
Are you over 18 and want to see adult content?
![A complete backup of https://bajanwed.com](https://www.archivebay.com/archive6/images/165eb1d4-9fc9-410f-b6bc-a513fabe9abd.png)
A complete backup of https://bajanwed.com
Are you over 18 and want to see adult content?
![A complete backup of https://ilturista.info](https://www.archivebay.com/archive6/images/62c5b1e7-45af-4889-a926-2debcf4c52ef.png)
A complete backup of https://ilturista.info
Are you over 18 and want to see adult content?
![A complete backup of https://urdupoetry.pk](https://www.archivebay.com/archive6/images/1747b3cb-a415-4cb8-ab81-3d12daca5e35.png)
A complete backup of https://urdupoetry.pk
Are you over 18 and want to see adult content?
![A complete backup of https://dstudio.su](https://www.archivebay.com/archive6/images/34de5dbe-057f-4e3c-9705-f2fda7d37d54.png)
A complete backup of https://dstudio.su
Are you over 18 and want to see adult content?
![A complete backup of https://landundforst.de](https://www.archivebay.com/archive6/images/e6d7e047-ae4d-4d63-9bb4-4b5888d82858.png)
A complete backup of https://landundforst.de
Are you over 18 and want to see adult content?
![A complete backup of https://northmelbournepodiatry.com.au](https://www.archivebay.com/archive6/images/68783824-d202-462c-8575-36f5d56855a5.png)
A complete backup of https://northmelbournepodiatry.com.au
Are you over 18 and want to see adult content?
![A complete backup of https://institutionforsavings.com](https://www.archivebay.com/archive6/images/444939ec-6c87-4512-a497-93441c14e742.png)
A complete backup of https://institutionforsavings.com
Are you over 18 and want to see adult content?
![A complete backup of https://blockcerts.org](https://www.archivebay.com/archive6/images/32eb85ff-4e09-4cd2-8599-e9a62ef845c2.png)
A complete backup of https://blockcerts.org
Are you over 18 and want to see adult content?
![A complete backup of https://textlog.de](https://www.archivebay.com/archive6/images/68d08858-646a-4abc-8496-c6091031fddf.png)
A complete backup of https://textlog.de
Are you over 18 and want to see adult content?
Text
Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
HOW TO DEPLOY & PUBLISH A .NET MVC APPLICATION How To Deploy & Publish a .NET MVC Application. This is the second post in the series called .NET MVC From a PHP Developer’s Perspective where I discuss the pros and (mostly) cons of jumping onto the .NET bandwagon. Keep in mind that I’m a php/unix guy. I’m now at week 5 and I recently deployed my .NET MVC application to a webhosting
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUB I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
CONVERT NEXTGEN GALLERIES TO WORDPRESS GALLERIES Until Jetpack Carousel came along and because it’s so cool an sexy, it made me wanna use galleries again, so I (finally) decided to write a script to migrate my old NextGen Galleries to native WordPress galleries, so they can be used with Jetpack Carousel, or any other carousel or lightbox plugins, which: Don’t create their ownshortcode.
HOW TO: DISABLE HTTP CALLS IN WORDPRESS A simple solution is to simply disable all HTTP calls and luckily, WordPress allows us to do that in a single filter for our theme (functions.php) or plugin file: add_filter ( 'pre_http_request', '__return_true', 100 ); The smarter way would be to intercept the request and let it pass or block it based on the request URL, that wayyou’ll be
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a few KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st. USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
HOW TO DEPLOY & PUBLISH A .NET MVC APPLICATION How To Deploy & Publish a .NET MVC Application. This is the second post in the series called .NET MVC From a PHP Developer’s Perspective where I discuss the pros and (mostly) cons of jumping onto the .NET bandwagon. Keep in mind that I’m a php/unix guy. I’m now at week 5 and I recently deployed my .NET MVC application to a webhosting
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUB I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
CONVERT NEXTGEN GALLERIES TO WORDPRESS GALLERIES Until Jetpack Carousel came along and because it’s so cool an sexy, it made me wanna use galleries again, so I (finally) decided to write a script to migrate my old NextGen Galleries to native WordPress galleries, so they can be used with Jetpack Carousel, or any other carousel or lightbox plugins, which: Don’t create their ownshortcode.
HOW TO: DISABLE HTTP CALLS IN WORDPRESS A simple solution is to simply disable all HTTP calls and luckily, WordPress allows us to do that in a single filter for our theme (functions.php) or plugin file: add_filter ( 'pre_http_request', '__return_true', 100 ); The smarter way would be to intercept the request and let it pass or block it based on the request URL, that wayyou’ll be
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a few KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st.ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl DON’T DO_SHORTCODE Don’t do_shortcode. Shortcodes are pretty cool, and the do_shortcode function is pretty neat as it can parse and execute shortcode callbacks from arbitrary strings, but that function invokes a fairly large regex every time it is called. That regex looks for all registered shortcodes within a string. For each match, it runs areplacement with
THE WORDPRESS SETTINGS API The register_setting () function lets WordPress know that we’re going to use an option with the Settings API. The first argument is the option group. We will use this group when rendering our options page. The second argument is the option name. It’s the one we use with functions like get_option () and update_option (). CSS TRICKS – PLAYING WITH POSITION: RELATIVE – KONSTANTIN CSS Tricks – Playing With Position: Relative. For some of you this post might be obvious, but I’ve been working with XHTML and CSS for years and haven’t figured out you could do such magic! We’ll be talking about the CSS Position property and it’s combinations with the Overflow property. Let’s talk about each of these properties CONVERT NEXTGEN GALLERIES TO WORDPRESS GALLERIES Until Jetpack Carousel came along and because it’s so cool an sexy, it made me wanna use galleries again, so I (finally) decided to write a script to migrate my old NextGen Galleries to native WordPress galleries, so they can be used with Jetpack Carousel, or any other carousel or lightbox plugins, which: Don’t create their ownshortcode.
DON’T BE SHY TO USE SPRINTF WITH WORDPRESS Don’t Be Shy to Use sprintf with WordPress. Don’t be shy to use the printf and sprintf functions with WordPress. It makes code much easier to read. Take a look at the following examples. It looks quite dirty and it’s very easy to miss a quote or double-quote. Here’sone that looks a
HOW TO: DISABLE HTTP CALLS IN WORDPRESS A simple solution is to simply disable all HTTP calls and luckily, WordPress allows us to do that in a single filter for our theme (functions.php) or plugin file: add_filter ( 'pre_http_request', '__return_true', 100 ); The smarter way would be to intercept the request and let it pass or block it based on the request URL, that wayyou’ll be
TWITTER FOLLOWERS WIDGETS Note: The development of this plugin has been paused since Twitter has switched from basic authentication to OAuth.If you’re willing to contribute hit me on Twitter (@kovshenin). Commenting has been disabled on this page. Thank you for using Twitter Followers Widgets. KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st. USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
DON’T BE SHY TO USE SPRINTF WITH WORDPRESS Don’t Be Shy to Use sprintf with WordPress. Don’t be shy to use the printf and sprintf functions with WordPress. It makes code much easier to read. Take a look at the following examples. It looks quite dirty and it’s very easy to miss a quote or double-quote. Here’sone that looks a
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUB I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a few HOW TO: DISABLE HTTP CALLS IN WORDPRESS A simple solution is to simply disable all HTTP calls and luckily, WordPress allows us to do that in a single filter for our theme (functions.php) or plugin file: add_filter ( 'pre_http_request', '__return_true', 100 ); The smarter way would be to intercept the request and let it pass or block it based on the request URL, that wayyou’ll be
HOW TO GET A LIST OF CONTRIBUTORS FROM A GITHUB PROJECT We launched underscores.me a few hours ago and the overall feedback is great. People seem to love how we automatically pull in contributorsusing the
KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st. USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
DON’T BE SHY TO USE SPRINTF WITH WORDPRESS Don’t Be Shy to Use sprintf with WordPress. Don’t be shy to use the printf and sprintf functions with WordPress. It makes code much easier to read. Take a look at the following examples. It looks quite dirty and it’s very easy to miss a quote or double-quote. Here’sone that looks a
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUB I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a few HOW TO: DISABLE HTTP CALLS IN WORDPRESS A simple solution is to simply disable all HTTP calls and luckily, WordPress allows us to do that in a single filter for our theme (functions.php) or plugin file: add_filter ( 'pre_http_request', '__return_true', 100 ); The smarter way would be to intercept the request and let it pass or block it based on the request URL, that wayyou’ll be
HOW TO GET A LIST OF CONTRIBUTORS FROM A GITHUB PROJECT We launched underscores.me a few hours ago and the overall feedback is great. People seem to love how we automatically pull in contributorsusing the
ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: KONSTANTIN KOVSHENIN I’m currently building a tiny social network for vector artists to post their artwork and get feedback. Anyways, I’ve been doing that for almost a year already and still can’t get it finished :) I’ve got design, I’ve got code concepts, but it’s all too complicatedfor a one-man-team.
SEMICOLON – KONSTANTIN KOVSHENIN Semicolon is a simple and clean magazine theme for WordPress. It has a responsive layout, clean and easy to read typography, a unique grid layout with featured posts support, a few widget areas, a special menu for your social profiles and much more. CSS TRICKS – PLAYING WITH POSITION: RELATIVE – KONSTANTIN CSS Tricks – Playing With Position: Relative. For some of you this post might be obvious, but I’ve been working with XHTML and CSS for years and haven’t figured out you could do such magic! We’ll be talking about the CSS Position property and it’s combinations with the Overflow property. Let’s talk about each of these properties LESSONS LEARNED FROM BUILDING AND SUPPORTING A (FAIRLY Around five months ago, I released Expound – a free magazine theme for WordPress. A few days ago, Expound has passed 100,000 downloads in the WordPress.org themes directory, which I’m super proud of.I have collected some thoughts along the way, which you may find useful. DON’T BE SHY TO USE SPRINTF WITH WORDPRESS Don’t Be Shy to Use sprintf with WordPress. Don’t be shy to use the printf and sprintf functions with WordPress. It makes code much easier to read. Take a look at the following examples. It looks quite dirty and it’s very easy to miss a quote or double-quote. Here’sone that looks a
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a few HOW TO GET A LIST OF CONTRIBUTORS FROM A GITHUB PROJECT We launched underscores.me a few hours ago and the overall feedback is great. People seem to love how we automatically pull in contributorsusing the
KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st.ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG HOW TO DEPLOY & PUBLISH A .NET MVC APPLICATION How To Deploy & Publish a .NET MVC Application. This is the second post in the series called .NET MVC From a PHP Developer’s Perspective where I discuss the pros and (mostly) cons of jumping onto the .NET bandwagon. Keep in mind that I’m a php/unix guy. I’m now at week 5 and I recently deployed my .NET MVC application to a webhosting
JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUBMOVE GIT REPOSITORY TO GITHUBBITBUCKET MOVE REPOSITORY TO PROJECTHOW TO CREATE A REPOSITORY IN GITHUBGITHUB CREATE REPOSITORY COMMAND LINEGITHUB CREATE REPOSITORY FROM LOCALHOW TO CREATE A GIT REPOSITORY I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a few KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st.ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENIN Semicolon is a simple and clean magazine theme for WordPress. It has a responsive layout, clean and easy to read typography, a unique grid layout with featured posts support, a few widget areas, a special menu for your social profiles and much more. DON’T DO_SHORTCODE Don’t do_shortcode. Shortcodes are pretty cool, and the do_shortcode function is pretty neat as it can parse and execute shortcode callbacks from arbitrary strings, but that function invokes a fairly large regex every time it is called. That regex looks for all registered shortcodes within a string. For each match, it runs areplacement with
7 TIPS FOR BETTER WORDPRESS THEME DEVELOPMENT 3. Customizer > Theme Options. Many WordPress themes come bundled with a theme options page, to customize the appearance of the theme, but in version 3.4, WordPress introduced the Theme Customizer. It’s a great end user experience, and easy enough to incorporate in your themes, using its very simple and flexible API. HOW TO CREATE A REMOTE SHARED GIT REPOSITORY Step 2: Setting Up a Shared Git Repository. This step should be done by somebody who has sudo access to the server or the root user himself. The latter is more dangerous, although saves you from typing sudo every time ;) So, let’s assume there’s manager user account with sudo access, and the /home/manager home directory. DON’T BE SHY TO USE SPRINTF WITH WORDPRESS Don’t Be Shy to Use sprintf with WordPress. Don’t be shy to use the printf and sprintf functions with WordPress. It makes code much easier to read. Take a look at the following examples. It looks quite dirty and it’s very easy to miss a quote or double-quote. Here’sone that looks a
HOW TO: ADD TAXONOMIES TO YOUR CUSTOM POST TYPES IN Custom Post Types are not new to WordPress, they’ve been around since version 3.0 and have really changed the “WordPress as a CMS” game ever since. Custom taxonomies though, have been around even earlier and are used to group your posts and custom post types. This post will give you a short insight on taxonomies in WordPress and show you how to add different taxonomies to different AN ALTERNATIVE TO @IMPORT IN WORDPRESS CHILD THEMES Using Child Themes in WordPress is a great way to modify an existing theme, however the CSS @import directive is slower than it has to be, so you should try and avoid it. Here’s why. If it takes 200ms to load the child theme’s stylesheet, and 200ms to load the parent theme’s CSS, a modern web browser should take approximately 200ms to load both of them, because modern browsers load KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st.ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG HOW TO DEPLOY & PUBLISH A .NET MVC APPLICATION How To Deploy & Publish a .NET MVC Application. This is the second post in the series called .NET MVC From a PHP Developer’s Perspective where I discuss the pros and (mostly) cons of jumping onto the .NET bandwagon. Keep in mind that I’m a php/unix guy. I’m now at week 5 and I recently deployed my .NET MVC application to a webhosting
JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUBMOVE GIT REPOSITORY TO GITHUBBITBUCKET MOVE REPOSITORY TO PROJECTHOW TO CREATE A REPOSITORY IN GITHUBGITHUB CREATE REPOSITORY COMMAND LINEGITHUB CREATE REPOSITORY FROM LOCALHOW TO CREATE A GIT REPOSITORY I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a few KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st.ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG HOW TO DEPLOY & PUBLISH A .NET MVC APPLICATION How To Deploy & Publish a .NET MVC Application. This is the second post in the series called .NET MVC From a PHP Developer’s Perspective where I discuss the pros and (mostly) cons of jumping onto the .NET bandwagon. Keep in mind that I’m a php/unix guy. I’m now at week 5 and I recently deployed my .NET MVC application to a webhosting
JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUBMOVE GIT REPOSITORY TO GITHUBBITBUCKET MOVE REPOSITORY TO PROJECTHOW TO CREATE A REPOSITORY IN GITHUBGITHUB CREATE REPOSITORY COMMAND LINEGITHUB CREATE REPOSITORY FROM LOCALHOW TO CREATE A GIT REPOSITORY I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a fewABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENIN Semicolon is a simple and clean magazine theme for WordPress. It has a responsive layout, clean and easy to read typography, a unique grid layout with featured posts support, a few widget areas, a special menu for your social profiles and much more. DON’T DO_SHORTCODE Don’t do_shortcode. Shortcodes are pretty cool, and the do_shortcode function is pretty neat as it can parse and execute shortcode callbacks from arbitrary strings, but that function invokes a fairly large regex every time it is called. That regex looks for all registered shortcodes within a string. For each match, it runs areplacement with
7 TIPS FOR BETTER WORDPRESS THEME DEVELOPMENT 3. Customizer > Theme Options. Many WordPress themes come bundled with a theme options page, to customize the appearance of the theme, but in version 3.4, WordPress introduced the Theme Customizer. It’s a great end user experience, and easy enough to incorporate in your themes, using its very simple and flexible API. HOW TO CREATE A REMOTE SHARED GIT REPOSITORY Step 2: Setting Up a Shared Git Repository. This step should be done by somebody who has sudo access to the server or the root user himself. The latter is more dangerous, although saves you from typing sudo every time ;) So, let’s assume there’s manager user account with sudo access, and the /home/manager home directory. DON’T BE SHY TO USE SPRINTF WITH WORDPRESS Don’t Be Shy to Use sprintf with WordPress. Don’t be shy to use the printf and sprintf functions with WordPress. It makes code much easier to read. Take a look at the following examples. It looks quite dirty and it’s very easy to miss a quote or double-quote. Here’sone that looks a
HOW TO: ADD TAXONOMIES TO YOUR CUSTOM POST TYPES IN Custom Post Types are not new to WordPress, they’ve been around since version 3.0 and have really changed the “WordPress as a CMS” game ever since. Custom taxonomies though, have been around even earlier and are used to group your posts and custom post types. This post will give you a short insight on taxonomies in WordPress and show you how to add different taxonomies to different AN ALTERNATIVE TO @IMPORT IN WORDPRESS CHILD THEMES Using Child Themes in WordPress is a great way to modify an existing theme, however the CSS @import directive is slower than it has to be, so you should try and avoid it. Here’s why. If it takes 200ms to load the child theme’s stylesheet, and 200ms to load the parent theme’s CSS, a modern web browser should take approximately 200ms to load both of them, because modern browsers load KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st.ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG HOW TO DEPLOY & PUBLISH A .NET MVC APPLICATION How To Deploy & Publish a .NET MVC Application. This is the second post in the series called .NET MVC From a PHP Developer’s Perspective where I discuss the pros and (mostly) cons of jumping onto the .NET bandwagon. Keep in mind that I’m a php/unix guy. I’m now at week 5 and I recently deployed my .NET MVC application to a webhosting
JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
KONSTANTIN KOVSHENIN As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st.ABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl USING GET_TEMPLATE_PART WITHIN SHORTCODES shortcode callback functions are expected to return a string and not generate any output. So when calling get_template_part within a shortcode callback function, you’ll see that all the output generated by get_template_part is output before the post content, and not replaced inline. The solution is to use PHP’s output buffering.Create a
UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENINSEE MORE ON KONSTANTIN.BLOG HOW TO DEPLOY & PUBLISH A .NET MVC APPLICATION How To Deploy & Publish a .NET MVC Application. This is the second post in the series called .NET MVC From a PHP Developer’s Perspective where I discuss the pros and (mostly) cons of jumping onto the .NET bandwagon. Keep in mind that I’m a php/unix guy. I’m now at week 5 and I recently deployed my .NET MVC application to a webhosting
JQUERY CYCLE: PAGER AND PAGERANCHORBUILDER One very awesome and useful plugin for jQuery is jQuery Cycle, which pretty much works out of the box, but browsing through the second part of the Intermediate Demos we’ve seen a click transition called Pager, which is somewhat tricky.. Pager is nothing but a few links next to your cycling block with page numbers, which switch the cycleupon click.
TRANSFER YOUR EXISTING GIT REPOSITORY TO GITHUBMOVE GIT REPOSITORY TO GITHUBBITBUCKET MOVE REPOSITORY TO PROJECTHOW TO CREATE A REPOSITORY IN GITHUBGITHUB CREATE REPOSITORY COMMAND LINEGITHUB CREATE REPOSITORY FROM LOCALHOW TO CREATE A GIT REPOSITORY I published a post before on How To Create a Remote Shared Git Repository and have recently seen people asking on how to then transfer those kind of repositories to Github. Seriously, this is a one-liner! Of course we all love Github, with the Issues feature, a Wiki section and a full-blown visual interface to your Git repositories, so sooner or later you might want to switch from yourself
HOW TO GET THE CURRENT URL IN WORDPRESS Here’s a quick tip!! I was wandering around the web for the perfect solution to retrieve the current URL in a WordPress theme or plugin. I found a bunch of solutions for PHP, but not directly related to WordPress so I thought there has to be an easier way, and after a fewABOUT KONSTANTIN
About Konstantin. Howdy! My name is Konstantin Kovshenin. I am a WordPress developer, enjoying life in Moscow. I work with the finest WordPress folks at Automattic, the company behind WordPress.com and many other great things. When I’m not writing themes or plugins, I’m probably contributing to the WordPress Core. BUY KONSTANTIN A BEER For whatever reason you have decided to buy me a beer, thank you! I do not accept PayPal-powered beer anymore, mostly because I dislike PayPal. I do, however, like to purchase beer with Bitcoin. Cl UNDERSTANDING GET_TEMPLATE_PART The real power of get_template_part comes from a function called locate_template, which does the whole searching in parent theme and child theme folders, and the reverting to other templates in a stack. The get_template_part function simply builds an array of templates for locate_template to look for. Here’s a quick example: SEMICOLON – KONSTANTIN KOVSHENIN Semicolon is a simple and clean magazine theme for WordPress. It has a responsive layout, clean and easy to read typography, a unique grid layout with featured posts support, a few widget areas, a special menu for your social profiles and much more. DON’T DO_SHORTCODE Don’t do_shortcode. Shortcodes are pretty cool, and the do_shortcode function is pretty neat as it can parse and execute shortcode callbacks from arbitrary strings, but that function invokes a fairly large regex every time it is called. That regex looks for all registered shortcodes within a string. For each match, it runs areplacement with
7 TIPS FOR BETTER WORDPRESS THEME DEVELOPMENT 3. Customizer > Theme Options. Many WordPress themes come bundled with a theme options page, to customize the appearance of the theme, but in version 3.4, WordPress introduced the Theme Customizer. It’s a great end user experience, and easy enough to incorporate in your themes, using its very simple and flexible API. HOW TO CREATE A REMOTE SHARED GIT REPOSITORY Step 2: Setting Up a Shared Git Repository. This step should be done by somebody who has sudo access to the server or the root user himself. The latter is more dangerous, although saves you from typing sudo every time ;) So, let’s assume there’s manager user account with sudo access, and the /home/manager home directory. DON’T BE SHY TO USE SPRINTF WITH WORDPRESS Don’t Be Shy to Use sprintf with WordPress. Don’t be shy to use the printf and sprintf functions with WordPress. It makes code much easier to read. Take a look at the following examples. It looks quite dirty and it’s very easy to miss a quote or double-quote. Here’sone that looks a
HOW TO: ADD TAXONOMIES TO YOUR CUSTOM POST TYPES IN Custom Post Types are not new to WordPress, they’ve been around since version 3.0 and have really changed the “WordPress as a CMS” game ever since. Custom taxonomies though, have been around even earlier and are used to group your posts and custom post types. This post will give you a short insight on taxonomies in WordPress and show you how to add different taxonomies to different AN ALTERNATIVE TO @IMPORT IN WORDPRESS CHILD THEMES Using Child Themes in WordPress is a great way to modify an existing theme, however the CSS @import directive is slower than it has to be, so you should try and avoid it. Here’s why. If it takes 200ms to load the child theme’s stylesheet, and 200ms to load the parent theme’s CSS, a modern web browser should take approximately 200ms to load both of them, because modern browsers load KONSTANTIN KOVSHENIN WORDPRESS, AUTOMATTIC AND OPEN SOURCEMENU
Skip to content
* Home
* About
* Contact
* Buy me a Beer
* Subscribe
.BLOG
As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply. The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st. However, a few select bloggers were granted the possibility to get .blog domains sooner as part of the Founders Program, and I was very lucky to be one of them. Welcome to KONSTANTIN.BLOG — a new home for my archive of almost eight years worth of writing on many topics, including SEO (yeah…), AWS, Twitter, robotics, Linux, PHP, WordCamps and WordPress. I admit I have neglected this place for a while, haven’t posted as much as I should have, and I can probably come up with plenty of excuses. But this new domain comes with a little string attached — I have to write more frequently, which I intend to do, so watch out for fresh thoughts, ideas, tips and hacks, and a lot of WordPress ofcourse.
If you’re looking for your own .blog domain, head over to get.blog for more information and updates. Posted on August 23, 2016 by Konstantin Kovshenin . | Tagged blogging , personal WORDCAMP MOSCOW 2016 RECAP WordCamp Moscow 2016 was held this weekend in the amazing Digital October Center . Fourteen speakers from Russia, Ukraine and Lithuania, two tracks with great content on design, programming, blogging, business and of course SEO. Huge props to Dmitry Mayorov for taking on the lead organizer role and making the best out of it. We had a little over 200 attendees this year, and the event was quite a success. 92% of the survey respondents said that the event was “great” or “good,” and only 8% said it was “okay” or “could be better.” Nobody said it was awful, so that’s a win. A fair amount of new speakers applied this year, in fact, five of them never spoke at a WordCamp before. The overall survey results (speakers and their talks) were good. Not amazing, but good. We decided to divide up the two tracks by “anticipated popularity” this year, rather than by content, which I think worked out really well, although some attendees complained in the survey. A small number of attendees didn’t like some of the talks because they were “too basic” or “too vague.” Well yeah, that happens. The breaks were long, as usual, pizza for lunch, better-than-last-year coffee, fruits and snacks. We even had a lovely press wall this year, with the conference and sponsor logos, which attendees (and photographers) really enjoyed. The sponsors area was much more active this year, with all four of our platinum sponsors having their owntable or booth.
The after-party was in a cafe/restaurant in the same building, where luckily this year we were able to negotiate a cheaper selection of beers, juices, waters and wines for our pre-order to fit our budget, so we didn’t run out as quickly as we did last year.THE TALK
Besides being on the WordCamp Moscow organizing team, I was also a speaker. My talk was about memory management in WordPress and why increasing the PHP memory limit is a bad idea. It was targeted at advanced users and developers, though beginner users were also happy to hear they shouldn’t get a more expensive server if their memory consumption averages around 90%. The slides are available on SlideShare, the video
will be up on WordPress.tv around September. Again, thanks to Dmitry Mayorov, the WordCamp Moscow 2016 organizing team, all the speakers and volunteers, for making such a great event. I really hope that attendees from other cities and countries were inspired enough to create their own WordPress meetup group, and start working towards a WordCamp in their area. Posted on August 16, 2016by
Konstantin Kovshenin . | Tagged events , moscow, russia
, wordcamp
| 1 Comment
WHAT THE QUERIES
I’ve never been a fan of IDEs, complex debugging tools with breakpoints, variable watch lists and all that fancy stuff. var_dump() and print_r() have always been my best friends. Recently I was playing around with the caching arguments in WP_Query, trying to combine that with update_meta_cache() while sticking wp_suspend_cache_addition() somewhere there in the middle, and it quickly became a mess, so I wanted to know what queries am I actually running under the hood. I came up with this little piece, which I think I’ll use more oftenfrom now on:
// Assuming SAVEQUERIES in set to true. $GLOBALS->queries = array(); // All the magic goes here var_dump( $GLOBALS->queries ); This gives you a nice list of SQL queries that were triggered ONLY by that magic code in between. Works great when you need a quick sanity check on all those caching arguments, priming meta or term caches, splitting queries and whatnot. Obviously it empties the initial set of queries, so anything in Debug Bar, Query Monitor, etc. will no longer be accurate. What’s your favorite way to keep track of queries? Posted on April 29, 2016by Konstantin
Kovshenin . | Tagged performance , snippets, tips
, WordPress
| 5 Comments
WORDCAMP RUSSIA 2015 RECAPWe did it.
WordCamp Russia 2015 was held last weekend in the amazing Digital October Center in Moscow. Attendance didn’t change much from last year — we saw about 200 people in person, but a lot of them (~ 60%) were folks who never attended aWordCamp before.
The attendees survey showed great results, pretty much in line with last year and with what we expected overall. The pizza was good, the lounge music was praised, the presentations were terrific. One thing that stood out was a gentleman, who for some reason decided that it was okay to jump up on stage during a presentation, and point out some (supposedly) mistakes that the speaker had made in their code. Awkward. I guess we’re going to have to hire a bouncer nextyear.
Here are some other things we learned this year: * Some communities don’t care about Wapuu and friends, they’d rather
have a t-shirt with a W logo instead * If you’re playing music in the hallway during breaks and lunch, make sure you normalize all the tracks * Lights, shooting video and a projector don’t go well together, luckily inverting some slides helps * With two tracks available perhaps it’s a better idea to split presentations by popularity, rather than just user/dev * Launching a screen recording on the presenter’s laptop during their talk is a great idea, video production goes much faster Big thanks to the organizing team, all the volunteers, speakers and sponsors who made WordCamp Russia a success! Posted on August 20, 2015by
Konstantin Kovshenin . | Tagged events , russia, wordcamp
, WordPress
| 3 Comments
CAPTURE THE FLAG / OTA 2015 This past weekend I participated in my first Capture the Flag challenge which was hosted by Matt Hamilton (Eriner) and other folksof the OTA Team
. It was an
epic 72 hours. We teamed up with my brotherand took 5th place.
During those 72 hours I learned a lot more than I knew about steganography, cryptography, filesystem superblocks, and even got to sharpen my math skills. I must admit I knew nothing (or maybe forgot everything) about calculus. My favorite challenge was cracking an Enigma -encoded message. It turns out that the military version of this 1920s machine has over 158 quintillion (!) different ways to setup the initial key. My first blind attempt at bruteforcing it yielded only one million combinations in about 10 minutes. Yeah, good luck with that. Luckily there are much more effective algorithmsto
crack the message in fewer steps (yes, faster than the Turing Bombe ), by relying on quadgram statistics, given that we know the language of the original message. Thanks to the OTA Team for hosting this online event! If you’re looking to join such an event in the future, check out ctftime.org.
Posted on March 9, 2015 by Konstantin Kovshenin . | Tagged events | 1 Comment COLOR OPTIONS VS. DECISIONS IN WORDPRESS THEMES One feature I was particularly excited about in Twenty Fourteen is the “accent color” which lets you personalize your theme by changing the default green to whatever you like. Unfortunately the feature wasremoved in #26220 ,
mainly due to the fact that it allowed users to make bad choices, like using a color with a bad contrast, rendering their website ugly andunusable1.
I’ve been thinking about this a lot after that commit, and even more lately. Many themes come with color options these days and the vast majority suffer from the very same problem — POOR USER CHOICES. Take Weaver for instance. The options panel will let you adjust the color of probably any single element on your site: I can’t say I love Weaver’s default look and feel — it’s okay. But it’ll only take a few minutes for an average WordPress user to completely ruin it without even knowing it. Then again, Weaver is a pretty popular theme on WordPress.org and if I had to guess why — it’s the amount of freedom it gives its users via theme options. But that freedom comes with a price. And I’m not talking about the theme’s pro version, no. I’m talking about the risk users take unknowingly. The risk that could result in poor usability, ugliness and insanely high bounce rates, even if the site looks “just perfect” to the owner. So how can we protect our users from poor decisions, while still giving them their beloved color options? Providing a predefined set of color schemes is one way of doing it, but this post is about somethingdifferent.
CONTRAST CORRECTION WITH SASS OR LESS You’re probably already familiar with CSS preprocessors, so here’s an interesting piece on accessibility and contrast with Sass and LESS. You can use brightness() or lightness() to help you choose better contrasting colors. You can use darken() and lighten() to alter your colors for better contrast. You can take it a step further and calculate the color luminance and contrast ratios. But building your WordPress theme stylesheet with Sass or LESS is one thing. Providing users with an option that could somehow magically change and recompile your CSS is another. One way is to bundle a Sassor LESS
PHP-based compiler inside your theme, though I’m not sure if the folks over at the Theme Review Team would be very happy about that. A better way would be to offload CSS compilation into a plugin, ideally one that’s already active on millions of websites, likeJetpack :)
JETPACK CUSTOM CSS
One of the lesser known features in Jetpack’s Custom CSS module is the availability of both LESS and Sass preprocessors, which means that Jetpack already bundles the necessary PHP libraries, and exposes them via functions, such as jetpack_sass_css_preprocess(): $accent_color = get_theme_mod( 'accent_color', '#00ff00' ); $sass = sprintf( '$accent-color: %s;', $accent_color ); $sass .= get_the_rest_of_the_sass_code(); $css = jetpack_sass_css_preprocess( $sass ); // boom! So in the rest of the Sass code you can use the $accent-color variable which is defined by the user:.element {
background: $accent-color; color: if( lightness( $accent-color ) > 50, 'black', 'white' );&:hover {
background: darken( $accent-color, 5% );}
}
Where you get the rest of the Sass code is entirely up to you. You can store it as a string in a PHP file, you can query the file system for the actual Sass file (note that Theme Checkwon’t let you use
file_get_contents()) or you can even wp_remote_get() it, perhaps as a fallback if nothing else works. Sass and LESS compilation can take a while, especially when you start using math functions like pow() or nthroot() (you’ll need these for luminance), so make sure you’re not compiling your stylesheets on the fly on every single request. Instead, you can grab a hash of the color choices, and perhaps the stylesheet version, and cache the compiled CSS forever in a theme mod, and if the colors are changed, you’ll simply overwrite the cachedentry.
EXAMPLE
Semicolon is a magazine theme I released earlier this year. It was built with Sass already, so I simply extracted all the color definitions from the main stylesheet into a new colors.scss file, and then used some basic regex to inject user color values and recompile the stylesheet with Jetpack. I also added automatic contrast correction which is on by default. So if the user picks bad contrasting colors, Semicolon will lighten or darken them until a contrast ratio threshold is reached. This guarantees a certain level of readability, even if it means drastically changing the user colors, like yellow to almost brown.So this:
Becomes this:
Obviously this is purely experimental for now, and there are probably some edge cases where users would want to turn Auto Contrast off. For example, in Semicolon you can’t set that sidebar widget fill color to the same color you’ve chosen for your page background. In fact, here’s what happens when you set all three values to white: Which I don’t think is bad, but it will certainly surprise many users. I guess a little tooltip message about why they’re not seeing the colors they’ve picked could help them understand what we didthere.
You can grab the theme from WordPress.org or browse the theme code on GitHub . The Sass magic lives inside css/colors.scss and the compilation and caching code is in functions.php (custom_colors() method). It’s not meant to be perfect, but I think it’s a good start. Give it a spin and let me know what you think. You’ll need Jetpack’s Custom CSS module active. If you’re working locally, you’ll want Jetpack’s development mode.
I appreciate your thoughts and comments! 1. There’s a neat plugin for the default Twenty Fourteen theme called Fourteen Colors , which also adjusts contrasts using PHP. Posted on August 28, 2014by
Konstantin Kovshenin . | 3Comments
AN ALTERNATIVE TO @IMPORT IN WORDPRESS CHILD THEMES Using Child Themes in WordPress is a great way to modify an existing theme, however the CSS @import directive is slower than it has to be, so you should try and avoid it. Here’s why. If it takes 200ms to load the child theme’s stylesheet, and 200ms to load the parent theme’s CSS, a modern web browser should take approximately 200ms to load both of them, because modern browsers loadassets in parallel.
Unfortunately this is not true for CSS @import. Let me quote Google:
> The browser must download, parse, and execute first.css before it is > able to discover that it needs to download second.css. Which means that instead of 200ms, with @import it’ll take the web browser approximately 400ms to load both stylesheets. Here’s a typical child theme’s CSS:/**
* Theme Name: My Child Theme * Template: parent-theme*/
@import url(../parent-theme/style.css); /* My Child Theme CSS */ We can drop the @import statement, and make good use of functions.php and the wp_enqueue_style() function: // Faster than @import add_action( 'wp_enqueue_scripts', 'my_child_theme_scripts' ); function my_child_theme_scripts() { wp_enqueue_style( 'parent-theme-css', get_template_directory_uri() . '/style.css' );}
And we don’t need to re-declare dependencies because the child theme’s functions.php is loaded before the parent theme’s. Unless, of course, the parent theme uses a different action priority, in which case we should just match it. That’s +1 to our PageSpeed score :) Posted on August 26, 2014by Konstantin
Kovshenin . | Tagged performance , themes, tips
, WordPress
| 18 Comments
MEGAFON MOSCOW: PRIVACY & ADVERTISING Funny thing happened today. My car insurance expired, so I called my insurance company (RESO) from my cellphone. Nobody answered my call, it was Friday evening after all, so I hung up and decided to call themon Monday.
A few hours later, I received a text-message: For those of you who can’t read Russian, it’s an advert from INHELP, a different insurance company offering its services. The message came from PROMO — the official MegaFon advertising channel. At first I thought it was a coincidence, so I asked my wife to dial the same number and moments later she gets the exact same text advert! I wouldn’t consider this a big deal if I had registered on some website online and given them my phone number. I would actually expect them to sell the number to third-party advertisers, but this isdifferent.
Here’s what I think: MegaFon Moscow, one of the three largest network operators in Russia, is not only selling my phone number to advertisers, but also the fact that a phone call was made to a certain number. At this point I wouldn’t be surprised if a recording of the phone call was also handed over.Talk about privacy.
Posted on August 22, 2014by
Konstantin Kovshenin . | Tagged personal | 2 Comments WORDCAMP RUSSIA 2014 The second WordCamp in Russia was a success, with almost 200 attendees and a great lineup of 14 speakers from all over Russia and abroad, including Ukraine and even Germany. I’m not going to go into much planning details like I did last year. Everything was
mostly the same, with the exception of having almost twice as many speakers, two tracks, pizza for lunch, a new logo (which everybody thought was a splash), as well as little irritating things that made planning more stressful — like the absence of parking spots close to the venue, problems with shipping anything from the US to Russia, and the fact that we bought about 10x more coffee than we ended upserving.
In any case, the post-WordCamp survey showed a 96% satisfaction rate, which definitely works for me. Now back to reading those new 4.0 commits, and still struggling for inbox zero, even though it’s beenover a week now.
Photos from WordCamp Russia 2014 are on Facebook.
Slides from my talk about scaling WordPress can be found here , the videos from all the sessions should appear on WordPress.tv in a few weeks. Posted on August 18, 2014by Konstantin
Kovshenin . | Tagged wordcamp , WordPress STAY TUNED FOR WORDCAMP RUSSIA 2014Last year we had
a blast and this year we’re planning to have an even bigger one. WordCamp Russia 2014 will be held on August 9th in Moscow. We have a line up of 14 speakers ready to deliver some WordPress awesomeness in two simultaneous tracks, at the popular Digital October conference center in Moscow. Tickets are available at $20, which includes a full day of learning and networking, food, coffee breaks, after-party and of course swag. See you in Moscow! Posted on July 7, 2014by
Konstantin Kovshenin . | Tagged events , russia, wordcamp
| 1 Comment
POST NAVIGATION
← Older posts
RECENT POSTS
* .blog
* WordCamp Moscow 2016 Recap* What the Queries
* WordCamp Russia 2015 Recap * Capture the Flag / OTA 2015 I'm Konstantin Kovshenin, a WordPress junkie and an Automattician living in Moscow, Russia. I love to contribute to WordPress and do other geeky stuff. If you need help with WordPress, don't hesitate to ping me. All posts are based on myopinion only.
Proudly powered by WordPress Theme: Publish by Konstantin Kovshenin . This website uses cookies to enhance your browsing experience. By using our website you consent to all cookies in accordance with ourCookie Policy.
Accept & Close
Details
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0