Skip to content

David Cramer

  • GitHub
  • Twitter
  • Daemonizing the WordPress cron.

    Daemonizing the WordPress cron.

    Over the years, I occasionally come across projects that require a cron job. Be it to send out scheduled emails, import data from external sources, or simply do a daily backup.

    As many would know, the best wordpress hosting service has a built in cron system. By default, this runs during each page load allowing the cron to be active without needing to setup a server side cron job. The downside, is that it requires a user to actually load the site, making exact scheduling unreliable if the site isn’t very active at the scheduled time.

    In this little “tutorial”, I’ll show how I setup a type of cron daemon that doesn’t require server access or configs.  While not a true daemon, it does give a very similar result. (more…)

    Share this:

    • Share on X (Opens in new window) X
    • Share on Facebook (Opens in new window) Facebook
    • Share on WhatsApp (Opens in new window) WhatsApp
    • Email a link to a friend (Opens in new window) Email
    • More
    • Share on Pinterest (Opens in new window) Pinterest
    • Share on Reddit (Opens in new window) Reddit
    • Share on Tumblr (Opens in new window) Tumblr

    Like this:

    Like Loading…

    David Cramer

    April 30, 2017
    Plugins, Utilities, WordPress
    advanced, cron, daemon, tutorial
  • FacetWP Manipulator

    This is an unofficial add-on for FacetWP that allows you to manipulate it’s functionality through it’s various Filters and Actions.

    Over the last few months, I’ve been helping with support and add-on development. In these few months, I have noticed that many issues can simply be solved through hooking into a filter or action and tweaking some settings or output.

    This is a fairly easy thing to do, but for some users, using code, even snippets, can be a little overwhelming. So, to try make things a little easier and less chance of causing a WSOD, I created a simple little plugin that allows you to add code for the specific hook and activate it. All from the Admin Area. яндекс

    FacetWP Manipulator is a free plugin and you can installed or downloaded from the WordPress Repo

    [iron_circle slug=”fwp_manipulator”]

    Share this:

    • Share on X (Opens in new window) X
    • Share on Facebook (Opens in new window) Facebook
    • Share on WhatsApp (Opens in new window) WhatsApp
    • Email a link to a friend (Opens in new window) Email
    • More
    • Share on Pinterest (Opens in new window) Pinterest
    • Share on Reddit (Opens in new window) Reddit
    • Share on Tumblr (Opens in new window) Tumblr

    Like this:

    Like Loading…

    David Cramer

    January 13, 2017
    Utilities, WordPress
  • Event Notifier 1.2

    Event Notifier 1.2

    A couple of weeks back, I created a simple little plugin called Event Notifier. The purpose was to allow me to send an email whenever an action or filter is called. While it is functional and does simply that, I wanted a little bit more. So I have added Slack integration, a Dashboard widget; to log events to the dashboard, and a content box to customize the message sent.

    The issue of common hooks being called frequently, has also been addressed by adding a “recurrence” setting. This logs each call, then after set limit, sends out the captured log.

    While it’s pretty simple, it has found way more uses that I expected. Also, it’s free and on the wordpress.org repo! take a look. https://wordpress.org/plugins/event-notifier/

     

    Share this:

    • Share on X (Opens in new window) X
    • Share on Facebook (Opens in new window) Facebook
    • Share on WhatsApp (Opens in new window) WhatsApp
    • Email a link to a friend (Opens in new window) Email
    • More
    • Share on Pinterest (Opens in new window) Pinterest
    • Share on Reddit (Opens in new window) Reddit
    • Share on Tumblr (Opens in new window) Tumblr

    Like this:

    Like Loading…

    David Cramer

    November 2, 2016
    Utilities, WordPress
    free plugin, tools, utility
  • Nesting Shortcodes in WordPress (shortcodes in shortcodes)

    Shortcodes in WordPress that are available in CollectiveRay.com are extreamly usefull for applying formatting or embeding external content in your pages or posts.
    The only problem with them is the parser only does a single pass on the content, so if your shortcodes outputs a shortcode, or you have a shortcode nested within shortcodes, they wont render.

    I found on the WordPress Codex that, to enable nesting shortcodes, or shortcodes within shortcodes, I would have to add return do_shortcode($content); This way it will push the result back into the parser.

    That’s all very well, but what of shortcodes I didn’t make, or don’t have this added to them? So I made a little plugin that would override the default do_shortcode filter with an evaluator that would check for shortcodes and keep pushing it to do_shortcode until they are all done.

    /*
    Plugin Name: Shortcode Recursion
    Description: Adds shortcode recursion for shortcodes that have shortcodes in shortcodes that has a shortcode in a shortcode in a shortcode with a shortcode in it, all wrapped in a shortcode within a shortcode... and so on.
    Author: David Cramer
    Version: 1.0
    Author URI: http://digilab.co.za/
    */
    
    /* evaluates content for shortcodes and sends it to do_shortcode() if needed and revaluates the result */
    function shortcode_inception($content){
        // evaluate content for shortcodes.
        preg_match_all("/".get_shortcode_regex()."/s", $content, $matches);
        // if has shortcode, return revaluated content from  native do_shortcode
        if(isset($matches[2][0]))
            return shortcode_inception(do_shortcode($content));
        // return if nothing is found
        return $content;
    }
    // remove the native do_shortcode filter
    remove_filter('the_content', 'do_shortcode', 11);
    // replace the filter with the evaluator function
    add_filter('the_content', 'shortcode_inception', 11);  
    

    Share this:

    • Share on X (Opens in new window) X
    • Share on Facebook (Opens in new window) Facebook
    • Share on WhatsApp (Opens in new window) WhatsApp
    • Email a link to a friend (Opens in new window) Email
    • More
    • Share on Pinterest (Opens in new window) Pinterest
    • Share on Reddit (Opens in new window) Reddit
    • Share on Tumblr (Opens in new window) Tumblr

    Like this:

    Like Loading…

    David Cramer

    November 5, 2012
    WordPress
    Inception, Nested, ShortCodes, Wordpress

Custom Plugin Development for WordPress, and amateur writer in training.

%d