How to control contextual help section by code?

I had added some content to contextual help section for plugin options page.

Now I’d like that page defaulted/toggled to contextual help section open on specific condition in my PHP code. My only issue is that I am not strong with JS and don’t see clear approach to coding that (I know how to pass variable to JS through localize, but not what code will actually get it done).

Read More

I had found relevant JS functions in source, but not sure how to properly reuse them for my task.

Related posts

Leave a Reply

2 comments

  1. You could also trigger/simulate the help button being clicked by binding to the ready event.

    Pre jQuery 1.7

    <script type="text/javascript">
    jQuery(document).bind( 'ready', function() {
        jQuery('a#contextual-help-link').trigger('click');
    });
    </script>
    

    jQuery 1.7+ (bind deprecated as of 1.7)

    <script type="text/javascript">
    jQuery(document).on( 'ready', function() {
        jQuery('a#contextual-help-link').trigger('click');
    });
    </script>
    

    The difference here is that you’ll see the help section slide down as the page finishes loading, as if a user had clicked the link.

    Can’t hurt to have another option though. 🙂

  2. Injecting this whereever you find suitable (or loading it as external js via wp_enqueue_script() should do it:

    <script type="text/javascript">
        addLoadEvent(function() {
            jQuery(document).ready(function () {
                jQuery('#contextual-help-wrap').show().addClass('contextual-help-open');
                jQuery('#contextual-help-link').css({'backgroundPosition':'bottom right'});
                jQuery('#screen-options-link-wrap').css('visibility', 'hidden');
            });
        });
    </script>