Adding a Site Login/Logout Link to an existing Menu in WordPress

Add Login Logut To Menu

You can add on to the end of an existing WordPress menu a site login/logout link. The WordPress menu must be registered and have a theme location, this will not work with custom menus. This needs to be added to your theme functions.php file add_filter( ‘wp_nav_menu_items’, ‘themeprefix_login_logout_link’, 10, 2 ); function themeprefix_login_logout_link( $items, $args ) { if(…

Read More

Removing Scheduled Actions from WooCommerce Action Scheduler

Woocommerce Stuck Action Scheduler

The Scheduled Actions that sit in WooCommerce Action Scheduler can get stuck with thousands of actions piling up, just stuck in a failed, canceled, pending or complete state. This can result in bloated database tables in particular wp_actionscheduler_actions and wp_actionscheduler_logs tables.   Since the states of failed, canceled or complete are already passed, you would be…

Read More

Image Carousel Thumbnail Slider with ACF Gallery Field in WordPress

Here is a guide on how to make an image carousel thumbnail slider with ACF in WordPress using the ACF gallery field. Lightslider, a lightweight image slider seems to fit the bill perfectly – I need it to just display simple thumbnails below the main image which on click/touch show the image in the main slide…

Read More

Redirect all pages to a ‘Coming Soon’ Page in WordPress

Wordpress Coming Soon

You can redirect all your WordPress pages to a designated Coming Soon page for all non-logged in users with the template_redirect action hook whilst leaving all pages visible to logged in users. add_action( ‘template_redirect’, ‘themeprefix_coming_soon’ ); function themeprefix_coming_soon() { if( !is_user_logged_in() && ! is_front_page() || is_home() ){ wp_redirect( site_url() ); exit(); } } So in…

Read More

Adding Expires Header to htaccess

Expires Header Htaccess

Expires Headers are a set of rules or directives from a website to tell a user’s local browser to either look in its own cache for files or to request the files off the webserver, the former is better for speed of the web page load and a reduction in the webserver processing. For Apache…

Read More

Block xmlrpc.php requests from Cloudflares firewall apart from JetPack

Xmlrpc Block

You can block WordPress xmlrpc.php requests from Cloudflare but exclude the JetPack IP addresses by creating a custom firewall rule, attacks on xmlrpc.php are frequent and it is best now disabled as it will be deprecated from WordPress in the future. However, some of the more popular WordPress plugins such as JetPack still need to…

Read More

Change WooCommerce Sold Out text

Woocommerce Sold Out Text

You can change WooCommerce ‘Sold Out’ text set by the inventory setting of Sold Out with the WooCommerce filter woocommerce_get_availability_text Add the below snippet with your custom sold text to functions.php add_filter(‘woocommerce_get_availability_text’, ‘themeprefix_change_soldout’, 10, 2 ); /** * Change Sold Out Text to Something Else */ function themeprefix_change_soldout ( $text, $product) { if ( !$product->is_in_stock()…

Read More