OpenHook, The Best Customization Manager Plugin for WordPress

You’re a self-hosted WordPress blogger, and you’ve finally picked out a beautiful theme for your site — that’s a tough feat, one I certainly struggle with — and now it’s time to customize your site to fit your content and your personality. There are a variety of ways to go about doing that, but… how? Even for an experienced user, simple customizations that typically require multiple steps, including creating a plugin or child theme, can be tedious. But what if there is an easier alternative?

I want to introduce you to a two-part system so you’ll understand the power of what I have to share with you.

Hooks and Actions

Meet the hooks and actions system. WordPress has numerous hooks, or customization points, throughout its system, into which you can easily add your own actions, or customizations. Themes (and even plugins) can have their own hooks, and some themes certainly have many more than others.

Let’s look at a very basic example to see how these work. A common customization which you might want to make is to add your copyright statement to the footer of your site. In many themes, you can accomplish by adding your action (in this case, your copyright text) to the wp_footer hook. The code would look like this:

function custom_add_copyright_statement() {
 echo '<p>Copyright &copy; 1603, William Shakespeare</p>';
add_action( 'wp_footer', 'custom_add_copyright_statement' );

Decently simple, right? But what if we could make that simpler? That’s where my free WordPress plugin, OpenHook, comes into play.

OpenHook, the Customization Manager for WordPress

What is OpenHook? In short, OpenHook is a WordPress plugin that streamlines the process of adding customizations to your WordPress site! But wait, there’s more!


  • Customize the hooks present in your favorite themes!
    • NEW! Define any hook you want within OpenHook and add an action to it! In addition to the following themes which OpenHook supports explicitly, you can now use OpenHook to customize ANY hook (even something as arcane as theme_hook_before_meta_987) in ANY theme or plugin that has ANY hooks, from WordPress’ bare minimum hooks to hooks that are dynamically created and are as infinitely diverse as your site can be!
    • Hooks are explicitly enabled for the following themes, but you’re by no means limited to these alone!
      • Flat (defunct?)
      • Headway
      • K2 (defunct? // actions created with the K2 Hook Up plugin can be imported)
      • Thesis 1.8.x (defunct)
      • Any theme that supports Theme Hook Alliance hooks
  • OpenBox, a PHP-friendly “box” for use in customizing Thesis 2 (defunct)
  • Quick access to the header and footer hooks of WordPress
  • All hooks can be customized with text, HTML/CSS/JavaScript, PHP, or shortcodes
  • All actions created with OpenHook can be selectively disabled
  • A variety of actions already present in Flat, Thesis 1.8.x, and WordPress can be selectively disabled
  • Hook visualization allows you to see exactly where each hook is fired on the front-end of your site
  • Shortcodes
    • , for masking email addresses from some spam robots
    • [global], which makes use of custom fields on a draft page in order to provide a library of reusable strings
    • [php], an admin-only shortcode for including PHP code within posts
  • Ability to disable all shortcodes
  • Display of phpinfo() in the admin panel
  • Options management, including tools to upgrade from OpenHook 2 and to uninstall (delete) all OpenHook options
  • Only users with the edit_themes permission may access OpenHook or its features. If enabled by such a user, other users may use or [global] shortcodes in their entries as well.


  • An installation of WordPress 4.1 or newer, naturally
  • The exec function must not be disabled by your host if you plan to use OpenHook to add PHP customizations

OpenHook may work with older versions, but given the ease with which both of those softwares can be updated, you really, really are encouraged to stay up-to-date!


OpenHook is available from the WordPress plugin repository, and so can be installed automatically from within your blog’s administration panel.

If you must do or just prefer the manual method, OpenHook is installed just like any other WordPress plugin.


Visit the WordPress plugins repository to download the latest version!


For support inquiries, please use the Contact panel within the OpenHook itself, the plugin repository support page, or the comments below!


OpenHook development has been supported by the following generous individuals:

Donate to Further Development

If you would like to support OpenHook development, you may do so in one of two ways. The simplest way would be a monetary donation via PayPal:

Or you can buy me something directly from my wish list, thereby saving me the trouble!

OpenHook is released under the GPL and was both inspired and based upon K2 Hook Up.



  • [fixed] load_plugin_textdomain() changed to properly reference the /languages directory (thanks pm1932)
  • [changed] Localization namespace is now thesis-openhook to conform to WordPress’ guideline that this namespace match OpenHook’s slug in the plugins repository (see
  • [changed] Author links updated to reflect current domain and Twitter account


  • [added] Ability to define custom hooks and to then add actions to them, effectively opening OpenHook support to all hooks across all WordPress themes!
  • [added] New themes: K2
  • [added] Ability to specify priorities on actions
  • [added] Access to the WordPress hook comment_form
  • [added] Include Facebook “like” button in admin panel sidebar
  • [fixed] Contact form link now works
  • [fixed] Asterisks denoting that a hook has customizations added to it are now more accurate
  • [fixed] OpenHook version and the Flat and Theme Hook Alliance hook options are now properly deleted when deleting OpenHook options
  • [fixed] OpenHook::upgrade()‘s “is an upgraded needed?” checks now actually work, preventing upgrade code from processing on every page load
  • [fixed] More WP_DEBUG notices taken care of
  • [changed] OpenHook admin panels are more responsive on smaller screens
  • [changed] Only one theme’s actions may be enabled at one time, saving processor power and preventing hook name conflicts
  • [changed] Explicitly adhere to semantic versioning going forward
  • [changed] OpenHook CSS is now minified
  • [changed] File structure organized
  • [changed] Simplified admin panel tabs to only highlight active action groups


  • [added] Flat hooks
  • [added] Theme Hook Alliance hooks
  • [fixed] OpenBox is now compatible with Thesis 2.1.x
  • [changed] Various text and links throughout OpenHook admin panel
  • [changed] Optimized various bits of code, bringing it in line with WordPress coding standards
  • [changed] Admin sidebar no longer appears on the server info page


  • [fixed] Fixed broken class calls in options management functions


  • [added] Now supporting Headway theme hooks!
  • [added] Shortcodes manager introduced!
  • [added] Users can now choose whether all hook panels are displayed or just one at a time
  • [added] PHP shortcode – Arbitrary PHP code in your posts! (Admin users only.)
  • [added] Email shortcode – Encodes email addresses for use in posts to thwart harvesters
  • [added] Global shortcode – Take advantage of custom fields on a draft post to create a library of strings which may be used in any post
  • [changed] Various code optimizations


  • [added] OpenBox – a box added to Thesis 2’s box management, allowing for arbitrary code in Thesis 2’s skin editor
  • [changed] OpenHook is now programmed as a class to allow its code to be self-contained. More code refinements will be coming
  • [changed] Plugin is now named simply “OpenHook.” Viva la simplicity!


  • [fixed] thesis_hook_after_post_box restored. Hat tip: Doug Foster


  • [added] Hook visualization (Based upon
  • [changed] Improved handling of the options management functions (upgrade/delete options)
  • [changed] When action groups are disabled, the hook pages now include a nag stating as much
  • [fixed] Warnings about empty arrays when activating action groups


  • [fixed] Bumped to make the repository update


  • [added] Hooks with customizations are marked with asterisks in the dropdown select box
  • [changed] Add link to phpinfo() under Tools menu
  • [changed] Verbiage for unhooking updated
  • [fixed] Many undefined variable errors
  • [fixed] Slashes are now properly stripped when upgrading from 2.x.x
  • [fixed] Default Thesis 404 content can now be properly removed


  • [fixed] Rare issue where the general settings panel doesn’t fully appear


  • [changed] Total rewrite of the plugin
  • [added] phpinfo() panel
  • [added] per-hook disabling of custom actions
  • [added] option to process shortcodes on custom actions
  • [added] ability to choose which actions to process (WordPress’s or Thesis’s or both’s)
  • [added] ability to remove all OpenHook options
  • [removed] several deprecated options


  • [fixed] Remember the typos fixed in 2.3.1? There were others I should have caught then. I’m a terrible proofreader, but thanks, Dean, for catching them!


  • [fixed] Fixed two stupid typos that killed everything that was right with the world. Well, they broke the plugin anyway. Thanks, Jim, for reporting so quickly!


  • [added] Thesis 1.7’s four new hooks are now included.
  • [removed] OpenHook’s file editing panels have been removed — Thesis has these by default now.
  • [changed] Readme.txt updated.


  • [fixed] Reverted change introduced in 2.2.3 regarding stripping of slashes


  • [fixed] Fixed a syntax error, reported by multiple users.


  • [fixed] Fixed a bug which prevented the After Teasers Box hook from saving properly. Thanks, Michael Curving.
  • [fixed] Fixed an issue where the file editors would strip slashes unnecessarily. Thanks, Kristarella.


  • Adding content to the wp_footer hook block actually works now. Thanks, Illustrata


  • Very minor bug fix: Removed option to remove thesis_admin_link() so that it can be used elsewhere; this function is no longer added via a hook in Thesis 1.5, so the OpenHook option essentially did nothing. There’s nothing to gain by upgrading other than a slightly cleaner “Footer” section on the main OpenHook page.


  • New hooks: wp_head, thesis_hook_comment_field, and wp_footer!
  • Separation of stylesheet editing to its own page.
  • Addition of custom functions file editing, also on its own page.
  • Major internationalization improvements
  • Jump box added to quickly navigate to any of the dozens of hooks
  • Option to include an invisible, nofollowed Project Honey Pot link in the footer area to help in the war against spammers.
  • …and probably more that I can’t even remember!


  • Added two new hooks: thesis_hook_before_content_area and thesis_hook_after_content_area.


  • Added ability to customize the save button text.
  • Added a bit more explanatory text on the OpenHook panel in the top area.
  • Fixed a bug with the “404 Title” hook that prevented slashes from being stripped properly. Thanks, Justin Thomas.


  • Fixed a bug with the “After Header” checkbox for PHP usage thanks to Alec Wild


  • Reorganization of just about all of the under-the-hood code.
  • More robust stylesheet editing — should work for more people now.
  • Complete stylistic redesign to match other WordPress admin panels.
  • Save buttons added liberally throughout the page.
  • Added support for the latest Thesis hooks.


  • Debug info bugfix thanks to firstdayblack
  • Simple custom/custom.css editing from within the OpenHook panel


  • Renamed from 0.2 to mark inclusion in the WordPress plugin directory!


  • Some code reorganization
  • Added options to easily remove Thesis’s default actions
  • Add some explanatory text to some hooks


  • Initial release

420 thoughts on “OpenHook, The Best Customization Manager Plugin for WordPress”

  1. Wow this is sweet Rick. Great idea! I wish I would have seen this before I spent all that time learning hooks last week…
    Seriously, this will save a lot of people a lot of time.

    1. Learning hooks and using the custom/custom_functions.php file is definitely the ideal; it ensures that your customizations aren’t dependent upon a plugin staying up-to-date in order to work with the latest version of Thesis. However, I will be doing my best to keep this thing current with what’s going on in the “Thesisphere.”

  2. Thanks Rick… this is great. Would you also mind sharing the functions and CSS for your thesis promo ‘supercharge your blog’ box at the end of each post?


  3. Rick,
    This is a great plugin and while I kind of enjoy creating custom hooks this will also save me a ton of time. Thanks for creating it.

  4. Rick,
    I’ll probably link to this from my site, even though I will likely just stick with custom_functions.php myself. One question: does it support php coding, like conditionals, or is it strictly for text?

    Really, really good idea and good work. You are a fantastic help to the Thesis community (and the WordPress community in general).

    1. It works with PHP just fine. Check out the second example in the post itself. :)

      Basically, anything that can be done with custom_functions.php can be replicated easily enough through OpenHook’s panel!

    1. I’m very grateful for your plugin, Eric! Seems like whenever I try to do admin panel stuff, it’s so complex, leading to surrender on my part. Your plugin was very well written — elegant in its simplicity, as they say — and helped me learn some stuff!

    1. Anything I can do to help you get rolling with Thesis, I’d be happy to do. I definitely believe in the power of Thesis to greatly enhance a site’s appeal — both to users and to search engines.

  5. WOW, how awesome is that! Thesis OpenHook downloaded and installed with absolutely no problems. Can’t wait to start inserting things! Thanks Rick for all your hard work!

  6. Rick, Great plugin for us novices. My question: If I use this, will it overwrite any hooks already inserted in the custom functions file? Thanks!

    1. No, OpenHook will not override the custom/custom_functions.php file. Both Thesis’ built-in customization folder and OpenHook will load when using Thesis, so the two are complementary.

      It may be easier for some to keep larger blocks of code in their custom/custom_functions.php file — which they can load up in a text editor with syntax highlighting and line numbers, for example — while using OpenHook to easily remove Thesis’ default actions and to add in smaller customizations.

      The whole point is to empower the community to be able to customize with increased ease, and I hope I’ve done that.

  7. Rick, it doesnt look like the inserted text using the hooks “obeys” the style built into Thesis… correct? For instance I tried to move my byline from the sidebar to area before context and used HTML to style it, ie, H3 tags, but it didn’t comply. How do we do simple stuff like adjust color, size of font, etc, within the hooks?

    1. It does obey the style, but in order to take advantage of that, you need to replicate as closely as possible Thesis’ markup structure.

      For instance, to do what you’re doing, you might try something like this in the “Before Content” box:

      <div class="post_box top"><div class="format_text">
      <p>Your content</p>

      The first and last lines are the most important as they are necessary to catch Thesis’ styling for formatted text, such as the text found in posts and comments.

      Hope this gets you headed in the right direction. :)

      1. Rick, that worked perfectly; now I just have to tweak it.
        I should have known I needed more code than that, because I had to use the div ‘s etc, in my sidebar section when I altered it with hooks!! I guess I was just too excited to be able to tweak my blog right in the admin panel that I got ahead of myself!

  8. Hey Rick,
    Thanks for this useful plugin :) But now comes the dilemma that started with using Thesis – to plugin or not to plugin, that is the question …

    Great stuff anyways :)

  9. Hey Rick,
    No matter what I plug in I get the following warning:
    Warning: fopen [function.fopen]: failed to open stream: Permission denied in wp-content/plugins/options.php on line 32 Error editing.

    How do I fix that?

    1. From the looks of the error message, I assume that you only uploaded the files within the thesis-openhook/ folder, rather than the entire folder itself, with the files therein.

      In other words, the options.php file shouldn’t be located at wp-content/plugins/options.php; on the contrary, it (and the other OpenHook files) should be at wp-content/plugins/thesis-openhook/options.php.

      Hope this helps you get it workin’!

  10. dude. u rock. I (we) really (really, really, really, really) appreciate not only this tool, but also ALL the knowledge & expertise you bring to the Thesis forums.

    – j

  11. Rick, I had the same problem as Jason. Your zip file was the problem. It needs a folder inside with the actual files.

    FTP replaces the original dates with the transfer time and date so in order to preserve the original file dates and times, I always unzip WordPress, Themes and Plugins remotely using CPanel File Manager or equivalent.

    1. Rick: I rebuilt the ZIP file – making sure I selected to compress the thesis-openhook/ folder itself rather than just the files. Should be fine now. I’m sure I messed something up a few days ago when I was preparing for uploading to the plugins directory — which still hasn’t worked properly for me. Hopefully all is well now.

  12. Nice little PlugIn which makes the work of a lot of people much easier. But maybe there is a little bug? When I check the box “Add debug information” the number of queries and seconds appear in the footer. But when I uncheck the box, the queries vanish, the seconds stay. Bug or feature?

      1. Rick, thanks for caring. But there ist another major bug in your plugin. The text on the save button says “update options” or something like that. It should of course be “BIG ASS SAVE BUTTON”! ;-)

        1. Haha. Chris and I have different ideas on what makes a good submit button. :P

          That said, here’s the fix for the debug stats bug. This block of code is near the bottom of thesis-openhook/thesis-openhook.php:

          	if (get_option('openhook_footer_debug_info') && current_user_can('level_10'))
          		echo '<p>', get_num_queries(), __(' queries. '); timer_stop(1); _e('seconds.'); echo '</p>';

          Change it to this:

          	if (get_option('openhook_footer_debug_info') && current_user_can('level_10')) {
          		echo '<p>', get_num_queries(), __(' queries. ');
          		echo __('seconds.'), '</p>';

          Will definitely be in the next version of OpenHook — along with the beginnings of being able to edit custom/custom.css directly from the admin panel! :D

  13. I’m having the same problem as Jason. All my files are under “thesis-openhook” folder but I get the same message. I hate hooks, why complicating / “fixing” things when there’s no need …

    Also when I try to add it manually via custom_functions.php I get this message when i try to access my site “Parse error: syntax error, unexpected ‘<’ in wp-content/themes/thesis/custom/custom_functions.php on line 37”

    I add it like this:

    /* YOAST BreadCrumb */

    function yoast_breadcrumb () {

    add_action(’thesis_hook_before_title, ‘yoast_breadcrumb’);

    hate .. it …

    1. I mean like this ..sorry

      /* YOAST BreadCrumb */

      function yoast_breadcrumb () {


      add_action(’thesis_hook_before_title, ‘yoast_breadcrumb’);

    2. Yeah, unless the code is properly escaped, WordPress eats it.

      However, you are welcome to e-mail me the code, and I’ll help you get it working.

      Regarding Thesis OpenHook, on which site are you attempting to install it? I’d like to take a look, if possible.

      1. Hey Rick, thanks for the support! New code is not showing me error message anymore but I can’t see the breadcrumbs …. but that’s another discussion for forums not here

  14. I get this message when I try to update a hook.
    Warning: fopen(/home/p5r54565/public_html//wp-content/themes/thesis/custom/custom.css) [function.fopen]: failed to open stream: Permission denied in /home/p5r54565/public_html/wp-content/plugins/thesis-openhook/options.php on line 32
    Error editing.
    Is this a problem with permissions on my host server?

    1. Oh goodness… I think I may have accidentally uploaded my development code. (Lesson? Organization is GOOD and should NOT be neglected!) When I get off of my day job here in a few hours, I’ll be able to devote some time to getting this thing working, as well as getting a canonical release uploaded to WordPress Extend.

      Everyone else: Glad you’re enjoying the plugin. Hopefully I can make it even nicer and more foolproof. I really want to get a more elegant admin panel going, with easier to read/find panels.

  15. This looks really excellent, Rick, thanks for creating it. Anything that makes Thesis easier to use! I’ve installed it on my WP 2.6.5 blog, now just reading up on hooks to understand better what I’d like to do ;)

    Thanks again.

  16. That’s awesome Rick, thanks for devising this! Having all the hooks at the same place, and being able to edit them so simply will make the customizing job that much easier.
    You even added many useful and cool comments when appropriate !

  17. Rick:

    Can you tell me how to add an iFrame to my blog. Can I use hooks?

    Actually I need about 5 pages with 5 different iFrames. I would appreciate the help.

  18. Hey Rick,

    This is a fabulous idea! I didn’t discover it until today. Sadly though, the download link doesn’t seem to be working. :(

    1. The download link points to the WordPress plugin directory page, which is where you’ll need to download the file from. (Right-clicking on the download link on this page — or using a download manager to grab the link — will not work; it’s currently a redirection, not a download.)

      1. Yeah I know buddy. I went over to the WordPress directory, and clicked on the big ‘Download’ button and it’s coming up as a dead link for me.

    1. @Tom K.: installed perfectly on my copy of WP 2.7 RC2 –

      @Rick – in RC2 – plugin option shows up as its own tab under appearance as Thesis Openhook – so even easier to find than advertised.

      Installed perfectly. Now I have to learn what to do with it.


      Edit by Rick Beckman: Fixed a bit of markup.

      1. Tom K.: What method of installing were you using? I’ve yet to have any luck with the automated plugin installer. Glad you got it installed, whatever method you used!

        Jonathan Soroko: OpenHook’s always had its own tab — below “Design” on WordPress < 2.7 — but WordPress 2.7 definitely makes the subheadings more accessible. Have fun learning how to use it, and definitely feel free to experiment — especially when fixing errors is as simple as deleting from a text box and re-saving the form.

  19. Hi! I’m totally new to hooks and am trying out this plugin. I added text to the Before Sidebars hook to have the words “Click current post title to see related movie below. ” appear on my site. This is because the movie is related to the post via a custom field, but if you just go to the home page (not the post link itself), the movie does not appear. I would like this message to appear only on the home page, and I would like its style to match the other widget headings. Can anyone help? Sorry to be so limited!

    1. Try using something like this in the “Before Sidebars” box, making sure to check the “Use PHP” option:

      <?php if (is_home()) { ?>
      <div class="sidebar"><ul class="sidebar_list"><li class="widget video_intro"><h3>THIS IS YOUR TITLE</h3></li></ul></div>
      <?php } ?>

      Yeah, it’s a lot of code, but it will ensure that the headline is rendered identically to other sidebar headings — and that it will respond to font changes made within the Design Options panels.

      Using this markup will place a lot of margin on the bottom of the heading, and you can lessen it by using this line in your custom/custom.css file:

      li.widget.video_intro { margin-bottom: 0; }
  20. Hi Rick.

    I have a sandbox build that I am playing around with. I checked off the footer:
    “Remove Thesis attribution — Only those who purchased Thesis using the Developer’s Option are allowed to remove the Thesis attribution link. If you purchased the Personal Option and remove the Thesis attribution, be sure to include it within your own footer content (perhaps replacing it with an
    affiliate link to DIYthemes).”

    Yes, I do have a developers license, just to let you know.

    The attribution is still showing up.

    I also added in some text in the input box for the footer.
    Copyright 2008, BOTC

    That shows up just fine.

    Here is the site.

    Sorry to say I could not understand what this meant:
    You’re welcome to ask support below in the comments; prior to posting any code, though, please make sure it is properly escaped. Thanks!
    (and going to the link did not give me any clues either)

    Any ideas as to what can be wrong.

    I am glad you have made this plugin. Thanks for all your efforts.

  21. So I’m curious how this plays with Thesis in a WPMU setting. Does it involve any file alterations, outside of custom.css?

    Just wondering how it would work. One of the things that drew me to Thesis in the first place was how well it played with WPMU. Being able to tweak layout elements trivially across a series of blogs without hacking at the theme files themselves.

    1. I’m not familiar with WordPress μ’s architecture, so I would love to hear whether or not OpenHook works or not. You’re right in assuming that the only actual file editing which goes on is of the custom style sheet; however, that option is only available if a user has top-tier administrator privileges, which may not be the case in a multi-user environment.

    2. With regards to WMPU compatibility, I tested it and it works just fine. Settings are isolated to the individual blog those changes were done on. I haven’t checked the custom.css stuff, but if you simply don’t allow it, it’s not a problem. Were it allowed, I’m sure it would propagate across all blogs sharing the same theme directory.

  22. Golly but this is good. I had put off upgrading Thesis until after I had WP 2.7 up and running, then did Thesis and this plugin and I am very impressed and very, very thankful for all the hard work you have contributed in general, and on this plugin in particular. Really. Kudos to you.

    1. Not as easily as you’d like; it would involve removing the default nav bar and then writing your own nav bar in the “Before Header” area. Otherwise, you could perhaps remove the feed link (via Thesis Options) and then insert your own Feedburn stats via the “Before Header” option of OpenHook. This will place your code after the nav menu and before the header, so you would need to position it into the appropriate place using custom/custom.css.

    2. @Rick, Thanks! So what’s the code for the .custom CSS if I want the stats aligned to the right? And maybe this is something that you could consider adding to the next version? (Says the non technical person with a smile on her face?)

  23. I wanted to add the Add to Any javascript “After Content” so I got the code and pasted it – but it doesn’t appear after the post content.

    I’ve changed permissions on the custom/custom.css to 777 –

    Did I miss something?

    Thanks Rick for a killer tool – and I LOVE the “little ass save button”

    Rick Butts

    Edit by Rick Beckman: Fixed link markup.

    1. Well, that tells me what I need to do next in OpenHook — more documentation! “After Content” refers to nearly the bottom of the page — after posts and comments have all been output. If you want to add something to the end of each post before the comments start, use “After Post” instead. :)

      1. well DOH!

        I’m obviously a retard – I shot down the page until I found after content and then figured I was where I needed to be.

        I’ll TRY to pay more attention now – hopefully my .js will work there.

        Thanks Rick –

        Rick Butts

  24. I’m trying to use this plugin for the first time – I can add the following code to custom_functions and it works fine, but when I add the exact same thing inside the plugin, it doesn’t work. What am I missing to use the plugin?

    function add_social_profiles () {
    global $comment;
    user_id); ?>
    add_action('thesis_hook_after_comment_meta', 'add_social_profiles');

    1. Looks like WordPress garbled the code a bit (tip: always run code through an escaping tool prior to posting in comments or posts), so I’m not sure of the exact code to give you… However, when using OpenHook, rather than using this:

      add_action('thesis_hook_after_comment_meta', 'add_social_profiles');

      …you can call your function directly, like this:


      Let me know if you get it working.

  25. Rick,

    I use the All-in-One SEO plugin and when modifying the header, it seems I get a conflict with that plugin.

    Here’s my error message –

    Warning: Cannot modify header information – headers already sent by (output started at /home/rob888/public_html/shop/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php:632) in /home/rob888/public_html/shop/wp-content/plugins/thesis-openhook/thesis-openhook.php(191) : eval()’d code on line 1

    What do I do?


    1. What code are you using in OpenHook? It’s possible that header information is being output, which of course would conflict with All-in-One SEO which has already output header information.

  26. Tyler @ Building Camelot

    This is an awesome plug-in! Thank you for taking the time to put it together.

    I’m new to Thesis and using this plugin and I have a follow-up question from the forums that I’d like to ask. I’m trying to add a email and twitter link next to my RSS button in the nav bar. I’d like for it to look like @mnichols site Anxiety, Panic & Health but I’m just not sure what to paste into the “Before Header” block. I want to keep my nav menu but add the email and twitter link to the right.

    I tried using the code you suggested here: RSS email next to Subscribe by RSS in nav bar but it’s not exactly what I’m after.

    Sorry for the drawn out comment and any insight you have to offer is greatly appreciated.

  27. I have added the code below (via in the header box to change to test adding an image in the header area, but it didn’t work, but when I added directly through custom_functions.php file it worked. Anybody know what the problem is… I’m using version 2.7 of wordpress. Thanks!

    /* Custom Header Image */
    function add_header_image () {
    echo “<a>

    add_action(‘thesis_hook_after_title’, ‘add_header_image’);

  28. New to Thesis and OpenHook
    Working in a sandbox environment. My question has to do with migration to a production environment.

    It looks like your plugin doesn’t modify the custom functuions php file. Does it store the modifications in the database? I suppose I could have looked. Moving a file into production is easy. Exporting a table, or table contents is a little harder. Suggestions on how to migrate hooks from a sandbox to a production environment?

    1. Last time I did it, I copy/pasted the values from the test site to the live site manually. Exporting would be a matter of finding the relevant rows in the wp_options table, then importing them into the production site prior to installing OpenHook (which will create new options of the same name, resulting in duplicate entries, which I’m unsure how they’d be handled in WordPress).

      1. Wow – Thanks for the fast reply! Thats sort of what I figured. Maybe an export/import function in the next release? Your file format is already defined as custom_functions.php. I think for my sandbox I am going to just work in the php file. It will help me hone my php skills and make migration to production a snap! Oh, crud, did I hard code some absolute sandbox URLs? Ug. Hmm, relative URLS are bad in downstream feeds, Ug.

        OK – I’ll work it out.

        Thanks again

        1. An import/export might not be a bad idea. I could see it being useful even for bloggers who deploy multiple blogs, all with Thesis & similar “base” customizations.

          I’ll have to get with Chris about this; we’re wanting OpenHook functionality built in to Thesis in the future, so I’d rather move in that direction, and we could maybe add import/export for Thesis settings as a whole. Now that’d be total awesomeness.

  29. Getting the following error above the header on home page, and at the top and bottom of the wordpress dashboard?????

    Warning: include_once(/home/admin/public_html/wp-content/plugins/__MACOSX/) [function.include-once]: failed to open stream: Success in /home/admin/public_html/wp-settings.php on line 465

    Warning: include_once() [function.include]: Failed opening ‘/home/admin/public_html/wp-content/plugins/__MACOSX/’ for inclusion (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/admin/public_html/wp-settings.php on line 465

    1. Now, I can’t login to admin…This is the new error:

      Warning: include_once(/home/admin/public_html/wp-content/plugins/__MACOSX/) [function.include-once]: failed to open stream: Success in /home/admin/public_html/wp-settings.php on line 465

      Warning: include_once() [function.include]: Failed opening ‘/home/admin/public_html/wp-content/plugins/__MACOSX/’ for inclusion (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/admin/public_html/wp-settings.php on line 465

      Warning: Cannot modify header information – headers already sent by (output started at /home/admin/public_html/wp-settings.php:465) in /home/admin/public_html/wp-includes/pluggable.php on line 850

    2. Viewing your Web server in FTP, do you see a __MACOSX folder in the plugins folder? I’m not sure what would have created it, but for some reason, your WordPress installation thinks its there or something. Quite frankly, I’ve never come across something like this before. Verify the files on your server, and delete the folder if it’s there. If it’s not, ask you host if they can track it down for you (it may be hidden).

  30. Rick,

    I am using a single column design and I want the multimedia box to be in the content area. I can’t figure out how to do this?

    Is it possible to run text in a column alongside it?

    Thanks in advance.

  31. @Rick Beckman Two points:

    RE: __MACOSX folder

    When you install the plugin from the WP Admin page (browse for a zip file), the _MACOSX file shows up as part of the plugin resulting in the error noted above. I duplicated it and couldn’t figure out what was going on until I looked at the structure of the .zip file.

    If you download the plugin using your download link, the same file is there. You have to unzip the file, then muck around in the folder structure until you find the actual plugin file. So that’s the culprit.


    Question: My CSS file changes, working fine in custom.css, do not work at all with the same custom.css copy and pasted into the plugin in the css area. The custom.css file is in the Thesis Custom folder as needed, but when I execute it, I get the plain vanilla Thesis theme instead of the fabulous customizations I have done ;>))

    My themes are in default location, but I have many blogs and they are located in a subdirectory of \public_html and then the installed WP blog with the Thesis theme. Is there any path issues to the CSS values? \public_html\blog\themes\thesis\custom versus \public_html\themes\thesis\custom?

  32. Thanks Rick,

    I would like to second Dave’s comment above re: your “Super charge your blog” box that appears at the end of every post promoting the thesis theme. Providing a custom_functions code for something like this would be super cool.

  33. I’m working on switching my site over to Thesis, and OpenHook has proven invaluable so far. I have only one suggestion, and if it’s been made before, just consider this another vote :)

    It would *rock* if you could duplicate the ‘little ass save button’ at the top of the page and periodically throughout the page. The vast majority of stuff I’m doing at the moment involves the custom css file, and having to scroll alllll the way down each time to press the save button is a little cumbersome.

    Other than that minor annoyance, OpenHook is fantastic – keep up the great work!

  34. Hello Rick, thanks for a wonderful plugin.

    I am trying to use Openhook in order to insert a slideshow-application before my sidebars. Eventhough I have added the following piece of code in the correct field of Openhook, with ‘Execute PHP’ enabled,

    ” ”

    I get the following error message where my slideshow otherwise would be:

    ” Warning: include(/public_html/wp-content/themes/thesis/gallery.php) [function.include]: failed to open stream: No such file or directory in /home/polysj4/public_html/wp-content/plugins/thesis-openhook/thesis-openhook.php(367) : eval()’d code on line 1 ”

    Is there a problem with the include-command, or have I missed something very obvious? Any help would be most appreciated, and thanks again for a truly helpful tool.

      1. ?php include(‘/public_html/wp-content/themes/thesis/gallery.php’); ?

        though wrapped within the appropriate – signs.

        I apologise for all the extra clutter

  35. Hi Rick,

    Great plugin, thanks.
    I have the multimedia box disabled until I can get it set up the way I want, with a miniblog, using one category of posts from the main blog.There’s a widget plugin for this, and I want to put the widget in the multimedia box. Is this possible? If not, can I put one category of posts there, using OpenHook?

  36. I think there’s a small bug with your plugin. When I use the custom functions.php file and add something before the header, it appears between the nav bar and the top of the header. When I use your plugin and add it in the “before header” box it appears above the nav bar. Any suggestions?

    1. The reason is that OpenHook’s code is fired prior to Thesis’ (plugins precede themes in the WordPress hierarchy), so it isn’t really a bug so much as a necessity. If you want something below the nav menu, remove the default nav menu with the checkbox in OpenHook, then add <?php thesis_nav_menu(); ?> *before* your code in the Before Header box, being sure that the “Use PHP” box for that area is checked.

  37. Wow… I spent 3 or so hours earlier getting error messages thrown up while trying to create my own hook. I then used this plugin and it worked with in 2 minutes. LOL.

    Nice work!

  38. I’ve uploaded thesis openhook to my plugins, but when I go to activate it, the plugin doesn’t show up at all. I’ve tried installing and uninstalling twice.. Please advise as how to get it to work. Thannks,


  39. Hey gang,
    I would like to add a bit of text with a link to another site as follows:

    Read Kelley Bell’s Columns on The Huffington Post:

    How do I format this so that the link is hot, and you just see “The Huffington Post” instead of the whole web address?

    Also, when using openhook to place this, I am open to suggestions regarding the best placement on the site.

    I tried it under the header, but the text was so small and off to the left, it looked kind of bad. Any ideas?

  40. I am a real novice here. But I have installed thesis in WP because I like the idea of having drop down combo boxes for Categories. I cant seem to make this happen. For example:
    Software (category)
    Adobe Plugins (sub category)
    NIK Vivesa (sub category)
    Hardware (Category)
    Printers (sub)
    Scanners (sub)

    and so on. Then when choosing the Software category, the drop down would list Adobe and NIK. Using the Hardware drop down, choose Printers or Scanners. etc.

    Can this be done? and how?

  41. OK, I’ve downloaded and installed it on my BS blog and it all went well, but I still have no idea how to work with hooks. Where would I be able to find a good site that explains working with hooks in such a way that even an idiot could follow it.

  42. Hey Rick,

    Is there a difference in how open hook acts when WP is installed in the main folder or a sub folder?

    In a site with WP installed in a sub folder, the boxes for open hook are all different and don’t have the stretch function. Also the custom.css box at the top is missing from the site where WP is installed in a sub folder.

    Is there some sort of path issue when the plug in is used on sites where WP is installed in a sub folder?

    This is a great plug in. Having the ability to alter a site with these admin files is a huge time saver.


  43. hey… you already rock with this one but are you preparing something special for us in connection to Thesis 1.4 ?

  44. Hi, I just wanted to thank you for the excellent plugin. I am also recently a huge fan of thesis (as you can see on my blog) and your plugin is going to save me a whole lot of time.

    All the best in the new year.

  45. Hello,
    The styling that I added to .custom #container on the custom css file no longer renders after I installed this plug-in. The body.custom is fine though. Do you know why the custom class would stop working??

    1. Sorry… never mind, the issue was caused because I turned on the “full-width” option. The plug-in works great, thanks!

  46. Hello,
    I like this stuff, it would be nice if there are different coulours on particular parts of code (something like in code editors)-or do you have some tips on good plugin for that? Other thing, are you going to implement “Featrured box” ? Thank you anyway ;)

  47. Hello Rick, I just spent quite many hours learning about Thesis and I have just installed your openhooks plugin. Thank you for making things easier for me as I am pretty much a beginner.

    Can I find out if feature boxes are the boxes that are below your multimedia box? What would be the codes for these? I am interested to have the same layout as the one on this website.

    1. The feature box in Thesis 1.4 appears at the top of your site in a definable place in the Design Options. The boxes you refer to (which I’m no longer using, actually) were created using the process described here (sorry about the broken images; such is the result of having imported content from all of my blogs into one location).

  48. It’s been a while since I’ve checked comments in this thread — been so busy working with Thesis itself, I’ve neglected this bad boy.

    Here are my plans for the next version of OpenHook, and no, I don’t have any clue about a release date — I’m still hoping Chris will just let me integrate the thing completely into Thesis!

    • Support for Thesis 1.4’s new hooks.

    • More attractive layout of the editing boxes.

    • More rugged security.

    • Support for Thesis installations in directories other than thesis/ for custom.css editing.

    • And so on.

  49. Hi Rick –
    I want to use frontpage slide show on only my front page. I put the php code in open hook “after header” and it works great. Problem is, it conflicts with a plugin used on another page.

    How can I make this code work on only the front page?
    Even better, How can I exclude this code on a specific page using open hook?

    Thanks – Love your work!

    1. You can wrap your code with any one of WordPress’ conditional tags.

      For example, to include stuff only on the front page of your blog:

      <?php if (is_front_page()) { ?>
      <?php } ?>

      Or to exclude content from a certain page, you will need the ID number of the page you want to exclude from. Then, use the same setup as the “on front page only” code above, but use the ! operand to negate the conditional, like this:

      <?php if (!is_page(#)) { ?>
      <?php } ?>

      The # should be replaced with the number of the page in question.

      In both instances, you would need to check OpenHook’s “Use PHP” box for whichever hook you’re using dynamic code within.

  50. Is there anyway to make after_post hook really after the post and before any third-party plugins using OpenHook? I’ll dig through the above comments to see if someone else has asked. Thanks!! :)

  51. Is this compatible with WordPress 2.7? Notes say Compatible up to: 2.6.3. I am excited to use this as it sounds like it will help me tremendously in my new work with Thesis.

  52. when you are talking about the new version and things to do :) , I will really appreciate if the “SAVE” button has the fixed position so I dont have to sroll to the bottom of the page everytime I change something…

    1. Ooh, a fixed save button. Hadn’t thought about that one. That’s definitely preferable to a bunch of save buttons strewn about after each box (unless I figure out how to use Ajax to save just one box at a time w/o refreshing the page). Since JavaScript makes about as much sense to me as Esperanto, I think I’ll be sticking with a fixed save button for the foreseeable future. Thanks for the suggestion, Maniac!

  53. I’m creating my own affiliate ad in HTML and using OpenHook to insert it on my blog via the “After Comments” box. My ad includes a gif image and no matter what I do, I can’t get it to show up. Are images inserted through OpenHook supposed to be in a particular location on my host server? What is the correct pathname to use?


    1. Cynthia, it entirely depends upon where you’ve uploaded the image on your server. If you’re placing the image in your thesis/custom/images directory, then that is the directory for the image you’ll need to reference in your image code.

      1. Rick,

        I put the image in that directory and tried using full and partial path names and it still would not show up.

        I also was trying to make the image clickable with an affiliate link.

        The image showed up and was clickable when I made the ad in Dreamweaver, but when I copied and pasted the text into OpenHook, I had to change the path names (from the one on my hard drive to the path to the file on the server) and just couldn’t come up with the right sequence of HTML to get the image to show in my table. Any ideas?



    2. Rick,

      Here’s a follow-up to my previous question. I used your DIV tip above to get the text in my HTML ad (which I put in a table) to be styled like the rest of the Thesis text. I love the font and leading, but now the style supercedes the cellpadding I enter in my HTML. Also, there’s too much space above my headline and subhead. Does this mean I have to modify the CSS file? Which one? How?

      Thanks! (I really love working with Thesis and OpenHook!)


  54. Hi Rick,

    This is a fantastic plugin, thank you. However I’m having a problem getting the default Thesis comments link to remove. I am running the following code in the after post hook:

    <a href="">Permalink -
    <a href="">Comments ()

    The code works but checking the “remove Thesis comments link” does nothing. I can’t remove it using the custom css file either. Any idea what’s going on?

  55. Daniel Rodriguez

    Hi rick,
    I’m using thesis 1.4.2 and I having problems with the custom.css, just cant see the text box.
    Are you havng this problem to?

    1. If no text box for the custom.css is showing up, that’s because OpenHook couldn’t access the custom.css file. The box is hidden in such a case to prevent larger problems.

      File permissions, file structure, unusual server setups… Lots of things could prevent the file from being accessed.

      Most common, though, is that Thesis is installed somewhere other than in wp-content/themes/thesis/ (if the folder isn’t thesis/, OpenHook doesn’t touch the custom.css file).

  56. OK, basic question –

    I uploaded my logo, and used OpenHook before_title hook with this:

    <img align="left" src="" style=""/>

    and I see the above when I view the source code, but no image shows up.

    What am I doing wrong?

  57. Hey Rick,

    Question for you. Just reinstalled thesis for a new blog I am developing, and added openhook to it.

    For some reason in open hook I do not see the custom.css: box. At the top of the screen is “Before HTML:”.

    Any ideas as to why the Custom CSS box would not be showing up in Open Hook?

    Thanks in advance!


      1. Hi Rick, thanks for the quick answer.

        My atyle.css is located in wp-content/themes/thesis

        What should the file permission be for openhook to see it?

        Thanks, Doc

        1. I assume it should be set to be server writable, but I’m not pretending to know that much about server configurations. Try 0777 as the permissions on it to see if that resolves it.

  58. Just passing by to say thank you for the good plugin! I can do with it almost everything needed. And, very important – to edit the custom.css without even starting an FTP program and all that downloading, editing, uploading etc. :)

    Please, continue supporting it, this obviously becomes my main tool :)

    Thanks again!

  59. Hey!

    Thanks for the AWESOME plugin. I was wondering if there was a good way to use Openhook to do this:

    Thesis is set on my blog to have one sidebar, but on certain Pages, I would like it to be the two sidebar style. Is there anyway to do an If/Else statement in Openhook to help facilitate this happening?

    Thank you so much!


    1. Unfortunately, not that I’m aware of. More advanced control over the sidebars like that more than likely would involve hacking Thesis’ core to add in your conditionals, which I don’t recommend. However, with some CSS trickery, you could probably achieve what you’re wanting. Have you asked about this in the Thesis Customization forum on the support board? Lots of styling gurus hang around there and should be able to help you out.

  60. Hi Rick, is there a way to use OpenHook to add tweets in my header? When I add it, it seems to push the entire header down.

    Am I missing something?

    1. Well, I can’t say for sure without seeing it in action, but you likely need to add some styling to the tweet so get it to appear where you want.

      Assuming the tweet is in a container called #tweet, you could use something like this to put the tweet on the right side of your header:

      #tweet { float: right; }

      That will need to be added to your custom.css file, either via OpenHook (if that option is available to you) or via manually editing the file.

      1. ack! I tried this and used openhook instead of Notepad++ and ftp to change custom css and now my logo is gone. I’m not sure what I could have done. I added to #tweet lines of code to the custom css and have removed both of them but my logo is still gone.

      2. What seems even more strange is I remembered the last custom.css I uploaded was probably still in my recycle bin. I brought it out and my logo is still gone. Almost like something is stuck and clearing out properly.

      3. OK, so something very strange happened. When I typed in the direct URL to my logo the url showed up in the browser as text. I uploaded my logo again and things seem to be working normally.

        Not quite sure if it was an OpenHook issue or not, but this is the first time I’ve used OpenHook for custom.css.

        May be a bug?

  61. The scope of the Thesis project, what it’s done and what it plans to do, is so vast that it’s easy to assume Mr. Pearson & Co. want to create a new caste of coders/designers/consultants who are keepers of the Thesis secrets. That one of y’all developed this OpenHook panel is direct refutation of that. I wonder if you (or anyone) could give me encouragement that I could single-handedly accomplish my wish-list. I’d appreciate your thoughts. I’m on Twitter as @RickWolff .

  62. Rick,

    I love your plugin, thanks! I just upgraded to 2.0, and have this weird issue: the “Execute PHP on this hook” button on the “After Header” hook won’t stay checked! Is this a little bug? Since I’ve got this code there . . .

    . . . I’m not seeing my Nav Menu at all! I’ve tried all the L.A.Save Buttons, but to no avail. Ideas?


    1. Rick,

      I nosed around in options.php and found . . .

      <input value=”1″ id=”openhook_after_header_php” name=”openhook_after_html_php” type=”checkbox” />”

      and changed “openhook_after_html_php” to “openhook_after_header_php.” That seemed to do the trick.

      My first php coding experience!

      1. Yeah, my bad there. OpenHook was the product of close to ten hours non-stop coding going from version 1.1 to 2.0. I got a little cross-eyed at times. I fixed the bug and 2.0.1 should show up in your dashboard for automatic upgrade soon enough. Thanks a ton for reporting it!

        1. Rick,

          Absolutely! It gave me an opportunity to learn a little php. And thanks so much for the plugin. It allows hacks like me to look like real experts.



  63. Thanks for the 2.0 update. Now for a request…how about allowing us to change the name of the “Button” to something else? Even Chris allows that.

    1. I had considered that, but after ten hours of staring at what seemed like a thousand different hooks, I was just happy to release what I had and be done. Maybe in the future. :D

  64. This is amazing! I was going to build another site using a different theme, but now I’m convinced. First thing tomorrow I’ll be upgrading to a developer license. All other themes should just cease to exist – Thesis rules!

  65. I was wondering if I could use “search box” within 404 page instead of error messages. It seems to me OpenHook can customize 404 page.

    1. You can include whatever you want on the 404 page; check out this extreme example (in OpenHook, use the code for “most other WordPress themes”).

      However, to include Thesis’ search form, use this function in OpenHook:

      <?php thesis_search_form(); ?>

      Not sure what the styling would like on it, but I’m sure it’s nothing a few style tweaks in your custom stylesheet wouldn’t handle.

  66. Hey Rick! Thanks for the plugin update. I love it and am learning more and more about using hooks.

    Now I need a tutorial on how to use the feature box. (HINT, HINT) :-)

    Check out what I’ve done so far here:

    Suggestions welcome, of course.

    1. Oops . . . I spoke too soon. Upgraded. But have to revert to the prior version because no matter what I do, new version will not execute php below the header. I have checked the box and re-saved about a zillion times. Same result. I didn’t make any changes other than to upgrade the plugin using the automatic upgrade feature in WP 2.7.1.

      1. Ah, I just realized what the problem is. I have been using version 1.1. WP 2.7.1 is offering an automatic upgrade to version 2.0, not 2.0.1. That’s why I got the error which I not see you wrote about above.

        My bad. I should not be doing this at midnight, obviously.

        Thanks, Rick.

  67. Tell me! :) Where you could find such support? You’re asking politely Mr. Beckman to continue the support of the plugin because it’s important for you, and in 48 hours he says: “Please receive version 2!” :)

    Thank you, Rick! Deleted the old directory, uploaded the new one and it worked instantly, keeping all previous settings :)


  68. Rick:

    I find OpenHook to be invaluable to me when I’m designing for clients. For one thing, it speeds the development process, because I can try things and replace things more rapidly than if I was constantly modding the css and php files. For another, it makes the changes more transparent to the client once the files are turned over to them. They still might not have the skills to implement new changes themselves, but it’s less intimidating for them if I send instructions to add something to OpenHook than if I’d said add something to the custom.php file. So, thanks!!

  69. Rick,
    Great update to 2.0 – extremely great. One little thing though… pleeeeeeeease bring back the stretchy editing boxes! They were a major part of my workflow, they made my job 100% easier. They make the page shorter (not as much of a big deal now with the multiple save buttons) but more importantly, I work far more efficiently when I can see a screenful of code rather than just 10 lines at a time.

    1. Did those work on WordPress 2.7? Seems as though after I upgraded, they stopped working, and since Chris and I only support WordPress 2.7+ for Thesis, it didn’t seem unreasonable to expect the same with OpenHook.

      If I can get a solution working in 2.7, I may add it back. However, I’ll be honest and say that I have no idea how that JavaScript worked — I never got past “Hello world” in learning JavaScript. The resizing script was simply carried over from the plugin that OpenHook was based on.

      1. They worked on WP 2.7, but neither of the sites I’ve upgraded OpenHook on are running WP 2.7.1, so maybe there’s something going on there. I’m moderately decent with javascript, I’ll poke around and see if I can spot anything and let you know if I find anything.

      2. Hey Rick, I figured out a solution. It’s not as slick as the pull-down method, but I think it works even better. I put two buttons under each textarea – one button adds 15 rows to the textarea, the other contracts the textarea by 15 rows. I made a few other minor changes related to this as well, and put a new options.php file up for you to download and check out if you like: Right click and save, then rename the phps file to php. I started commenting on line 235 to explain everything I did in detail. No credit required if you decide to use my changes, just happy to help out.

  70. Thanks for a this great work rick! Two questions though:

    1. Is there any easy way to be notified when you’re updating OpenHook (i guess the auto-alert system built in wordpress doesn’t work when you don’t host the plugin in the repository)?

    2. Do you have any nice resources where I can find inspiration for all the possibilities this plugin gives us? Like the example for customizing the footer.

    Thank you!

    1. Thesis is hosted w/ WordPress, and you should be notified when updates are available. :)

      As for resources… Well, skies the limit. You can use just about any markup or WordPress code you could want in OpenHook. Better to know what you want and ask for it then to be given a ton of examples of stuff you probably don’t need, in my opinion anyway. :)

  71. Rick, hi. I think I’m a little confused as to what to put in some spot. for example, say I want to do the nav menu switch from top to bottom of header. What exactly do I enter into the textbox?


  72. Another question Rick. I’m trying to put an adsense unit in the content area.

    It shows up, but above the content and is not aligned according to my CSS (float:left;)

    how would I put this in the content area? Thanks again.

    1. What code are you using? There’s no reason something like this shouldn’t work:

      <div class="adsense_ad">YOUR ADSENSE CODE</div>

      …with this in your custom.css file:

      .adsense_ad { float: left; }
      1. I tried putting the code in the other, but it had php in it. basically it calls…


        and uses the style you mention. hold on a sec… here’s how it’s resolving

        and the CSS I’m using is:

        #adsense_singlepost_top_square {
        float: left;
        margin-right: 10px;

        1. arrrg, ok so the code didn’t show up. It’s putting the google ad right after the content div and right before the post div.

    1. If you’re using WordPress 2.7 or newer (which is required to use Thesis and thus, OpenHook as well), you can install the plugin via the automated installer within WordPress. No need to download the above file at all. :D

  73. Hi Rick,

    Not sure why, but I am running WP 2.7.1 and upgraded to your Openhook 2.0 the day you released.

    The WP auto installer in my admin is not showing a 2.1 upgrade available.

    Any ideas as to what’s up? Should I just DL from here and upload?



    1. Ooh, my fault. I forgot to change the version in the plugin file itself; no wonder the plugins directory didn’t consider my changes a new version! Thanks for letting me know; I probably would never have noticed this on my own.

      I fixed the oversight, and the auto-update should appear soon-ish. However, there’s no harm in doing a manual update if you don’t want to wait. The only change is described in the changelog in the post above, so it may not be a big deal at all for you not to immediately upgrade. No harm either way.

      1. Awesome… glad I decided to point it out.

        In no rush, blog working fine, so I will wait for the auto installer. Just love the new auto installer – so much easier!

        Thanks again,


  74. This NextGen Gallery short code [singlepic=1,188,141,,right] doesn’t get processed but shows up where the image is supposed to be. Is there a way to use short codes with OpenHook?

    1. The option to parse shortcodes… Now that’s a good feature request! Thanks, dude!

      In the meantime, you can get around that shortcoming with this:

      $gallery = '[singlepic=1,188,141,,right]';
      $gallery_parsed = do_shortcode($gallery);
      echo $gallery_parsed;

      Make sure to select to parse that code on whichever box you’re using in OpenHook. Let me know if that fails (and what the error is, if any).

      1. Doesn’t seem to be working. I get [SinglePic not found] but the short code works fine when used on a WordPress page. I just retested it to make sure.

        1. I’m not too familiar with the [singlepic] shortcode, but I’m betting what’s happening is that it can only be used within the loop (read: within posts themselves); outside of the loop, the shortcode has no idea which post it’s accessing, which picture(s) it should be referencing, and so on. Not sure. If I can figure out how to trick it, I’ll let you know.

  75. Hey there Rick, just a sidenote about a conflict I found after upgrading to 2.0.1 – I’m using the K2 theme while I customize my Thesis site. Well, Openhook causes older post not to show up. I get some conflict with capabilities.php line 920 – not sure if this would concern you too much, but thought you would like to know about it.

  76. I don’t know what I am doing wrong but I can’t get it to unzip. I have downloaded many plugins for wordpress and know what to do but when I try to unzip this plugin it keeps telling me I already have a file with that name. the thesis-openhook file with 0kb gets loaded and the folder with thesis-openhook never gets unzipped.
    anybody else have this problem or am i alone

    1. The file works fine for me; however, there’s no reason to download it. Just use the automated plugin installer in WordPress. Search for OpenHook, and it’ll come up to be installed. Easy. :D

      1. thanks , got it. I have never installed a plug-in that way. I like to have them on my system so I can slide them all over in one move on new sites but that works. thanks for the quick response.

        1. Once it’s installed via the automatic installer, you can download it to your comp via file manager. Again, not sure why the downloadable archive above doesn’t work… Does it work if you download it from WordPress’ plugin’s directory? Their archives are automatically generated, so it’ll be ever-so-slightly different than the one I created and have available above.

  77. Rick,
    Not sure what I did, but I had the open hook rocking and rolling at Then I upgraded the openhook to 2.0, and was running a 1.3 something on thesis. I got error up the wazoo, so I unplugged the open hook and upgraded thesis to 1.4.2 and to 2.7.1 on wp
    I plugged in open hook and get
    Warning: main(TEMPLATEPATH/lib/classes/options.php): failed to open stream: No such file or directory in /home/content/m/o/b/mobrian/html/mifireservice/functions.php on line 22

    Fatal error: main(): Failed opening required ‘TEMPLATEPATH/lib/classes/options.php’ (include_path=’.:/usr/local/lib/php’) in /home/content/m/o/b/mobrian/html/mifireservice/functions.php on line 22
    Any ideas?

    1. Not sure why, but there is a functions.php file in the root of your site, which is not needed by WordPress, Thesis, or OpenHook. It’s the file throwing the error, so it’s being used by something, which is odd. Try deleting it, seeing what happens.

      1. Rick, that worked great, now I just have to fix some hooks that were lost. Not sure if I coded something wired, but I will get it up and running, thanks for your help!

  78. Rick –

    Trying to put an image above the title “Home” on the home page only of test site Using Openhook, I can get an image in about the right place by using the Before Content space.
    However, I do not know how to invoke the condition that the image should only show on the home page. I tried putting the code below in the Before Content box:

    <?php if (is_home()) { ?>
    <img src="×2701.jpg&quot; alt="480×270 test image" title="480×2701" width="480" height="270" class="size-full wp-image-232" />
    <p>Text before content, not before content BOX.</p>
    <?php } ?>

    and checked the box to ” Execute PHP on this hook “. However, the image does not show on any page. (The same test image also correctly appears a few paragraphs down the page, captioned as “480×270 test image”.)

    My eventual goal is to get video(s) into the Before Content location, on various pages using conditions. So it seemed to me that first I should try to learn how to place jpg images in the desired location, and later I will work on placement of the video player.

    If the error is apparent, please let me know.
    Thanks, – E.J.

    1. WordPress’ conditional tags are a bit confusing so far as their names go: If you’re using a page as a home page (rather than your blog) as you are doing, is_home() won’t work because is_home() always refers to the blog page. To target your front page, whether it be the default or set to a custom page, you should be using is_front_page(). Hope it works for ya. :D

      1. Rick –
        Thanks, it worked.
        I had not noticed, until after reading your comment above, that the test image was showing only on the “Blog” page. After making the change you recommended, the test image shows on the home page and only on the home page.

        Thank you for your patience towards those of us in an early learning mode.
        Best regards,
        – E.J.

  79. Hi Rick – I just wanted to let you know about a little glitch I encountered with 404 Title – if I enter this:

    and save, the 404 page looks fine, but the next time I see this in the 404 Title (one backslash per quote):

    and after the next save I see this (two backslashes per quote):

    and then after the next save I see this (three backslashes per quote)

    at this point I start getting the expected PHP error:
    Warning: Unexpected character in input: ‘\’ (ASCII=92)

    1. Oops, I included the PHP tags and that is obviously a no-no. This is the 404 Title code I added:
      echo "Content Not Found";
      which got turned into
      echo \"Content Not Found\";
      and then
      echo \\"Content Not Found\\";
      and finally
      echo \\\"Content Not Found\\\";

  80. Hi Rick,

    Thank you for the plugin, I should have started using it months ago. I am currently re-doing my site at and have a quick question. I am putting a footer after each of posts and do not wan it to show up on the home page. I know I should be using if(is_single()) { some how but do not know how to apply. Any help would be appreciated. Thank you.

    1. Well, I could be more specific if I knew what footer code you were using, so I’ll just assume a basic paragraph. Try this out.

      <?php if (is_single()) { ?>
      <p>Your Footer Text Here</p>
      <?php } ?>

      That should do it.

  81. I have tried to insert the following google code into the “before comment meta” hook to no avail. I have enabled php, but nothing ever shows up.

  82. Heads up, everyone: If you’re part of the elite group of legitimate Thesis users (i.e., your copy isn’t pirated), you can now get OpenHook support in a nice, organized environment on the DIYthemes support board. :D

  83. Rick,

    Thanks a ton for creating this! I need a little (actually a lot) of guidance. My home page acts as a blog but I want to have specific bit of info show up prior to the begining of the blog entries, not to be confused with info that shows up on every blog post. For example, the page would look like this:

    – Static text that doesn’t move (kind of an intro to the site)
    – Blog entry 1
    – Blog entry 2
    – ……………..

    Understand what I’m getting at? Any idea how that can be done?

    1. Hey, Ryan. Glad you enjoy OpenHook! To add content before the posts on the home page, use the “Before Content” box, but wrap your code like this:

      <?php if (is_home()) { ?>
      <?php } ?>

      1. Rick,

        I’m a bit confused. First, let me mention that I’m running Thesis on two different sites, both configured the same way. Both sites are using openhook, but they appear to be different versions. The version that is working only has one “little ass save button” at the very bottom. The version that isn’t working has a “little ass save button” under each section. Have you had anyone else having this issue?

        Site that openhook works with (nothing currently implemented, but I did just test to make sure it was working) is Site it isn’t working with is

        Thanks for any help you can provide.


        1. By “not working”, what do you mean? Are there any errors? Are you able to enter customizations and save? If you are, does nothing happen on the site itself?

          My initial guess is that you’re using a caching plugin of some kind which isn’t updating after OpenHook’s settings are changed. You’ll need to dump the cache via that plugin’s settings after any settings are changed in OpenHook.

          That said, your working site is running an outdated version of OpenHook. If you’re running a recent version of Thesis, you’ll want the latest version of OpenHook to take advantage of all of the newer hooks and so on. :D

  84. Hi Rick, thank you so much for all your work to make me not have to work so hard. (And since I don’t know very much, I really have to work hard anyway!) I followed your video and added a copyright statement via my custom_functions file, and followed instructions somewhere for switching the nav bar to after the header. Since I just love to have options, I was so excited to see that Hooks give so many options. The problem is that, as I look at the list of Thesis Hooks, I can’t really tell what most of them are or what they will do for me. For instance, “thesis_hook_after_content” means nothing to me about what cool thing that could do for me. As someone who is mainly using Thesis as a static website until I can get organized to begin blog posts in addition, is there a hook or two or three that you think I could benefit from? Thanks, I appreciate whatever you or your subscribers want to suggest.

  85. Hi. I went to implement openhook and found this error on the page that loaded.

    Unfortunately, your custom.css file does not appear to be editable by the server, so you will not be able to edit it via the OpenHook interface. Sorry for the inconvenience.

    How do I fix this? Blog is hosted on my server…

    Thank you

  86. You mention that to remove the Thesis attribution in the footer (and yes, I do have a developer multi-site license) – you use the hook mentioned below to edit custom_functions.php

    – but where do you put this hook in your “openhook” interface?

    I’ve tried the Footer box (just displayed my code as text) and the Before HTML – did nothing.

    Where should we place hooks for sitewide configuration?

    Thanks – rick

    1. Okay WAAY down at the bottom of OpenHook – I see you’ve included a checkbox to remove the footer attribution – whew.

      Thanks – are there any other kinds of sitewide hooks that don’t go into a preset box on OpenHook?

      Where would they need to go?

      thanks – rick

      1. Any of the Thesis remove_actions() probably won’t work in OpenHook’s boxes — the box content is fired before Thesis adds the actions, I think. That’s why I included the checkbox removal system.

  87. Rick,
    I’m using

    if (is_page(array('232','234','236','303','383'))) remove_action('thesis_hook_header', 'thesis_default_header');

    in the Before Header box, and similar remove_actions() in other OpenHook boxes, and they work perfectly. A quick test showed that remove_action('thesis_hook_footer', 'thesis_attribution') in the Before Footer box worked to remove the attribution. Useful if you want the attribution removed only on certain pages.

    1. That’s good to know, Alec! I haven’t messed around with customization via OpenHook too much — I more or less test it enough to make sure it works (barring the occasional bug or two), so a lot of its power is unknown even to me. I leave it to you users to do the creative stuff… Kinda like Thesis itself: we know it’s a powerful system, but there are sites out there which blow Chris and myself away. We can never underestimate users’ creativity!

  88. Hi Rick,
    Firstly, thank you for OpenHook for Thesis! A great tool!

    I have a small problem just surfaced after making an entry in Openhook.
    The entry was placed in ‘Archive Info Box’
    The ‘code’ ……

    Execute PHP on this block = Is ticked
    Remove Thesis default archive info = Is ticked

    I get the results that I want when I use the Category & Archive Pages but the error message occurs when I use the standard Thesis Search Box. After typing in a key word, the search results page is displayed with the following error message…

    Catchable fatal error: Object of class WP_Error could not be converted to string in /nfs/c03/h01/mnt/47704/domains/ : eval()’d code on line 3

    I am not an experienced PHP user and would appreciate it if you could help me on this one.



    I am using…
    Thesis 1.4.2
    Openhook 2.01
    PHP 5

    1. Hi Rick,

      Noticed on my previous comment that the code did not appear…

      Here it is again wrapped in “”



      1. Hi Rick,

        My apologies I missed the bit about ‘escaped code’.

        Here is the code!

        <div id="archive_info">
        <h1><?php single_cat_title(); ?></h1>
        <div id="category_description"><?php echo category_description(); ?></div></div>



        1. Hi Rick,

          I have just used the htmlescape tool and here the ‘escaped’ code…

          <div id="archive_info">
          <h1><?php single_cat_title(); ?></h1>
          <div id="category_description"><?php echo category_description(); ?></div></div>



          1. My guess is that the code is failing because on a search results page, category_description() isn’t a valid function.

            Try wrapping your code in a conditional so that it only is active if a non-search page is being viewed. The (negative) search conditional is !is_search().

            1. Hi Rick,

              Thank you for your response and assistance.

              I have tried for a couple of hours with no success to follow your advice (which makes sense to me logically) and wrap my code in the conditional as you quoted, using Openhook as before.

              I looked up the WP Codex, W3Schools site etc for examples but unfortunately my lack of PHP knowledge has defeated me.

              If you can would you please give me an exact example.



              1. Hi Rick,

                Sorry to hassle you but are you able to help me on this one?

                Should I post on the Thesis Forum maybe?



  89. Hi – I have successfully used openhook to add wording but I am struggling to get images in place. I put in code src=image path; and just get worded detail on site, no pictures. Can someone please suggest what I should put in openhook to add images in various spots. I copied code from other images I have placed and am clearly missing the point/ putting too much in openhook/ or not enough! Say I want to add a nav bar to footer; I put all my nav bar detail in the footer box; as is for my initial header, and just got all the code. I am sorry if this is a silly newbie question! But really thank you!

  90. Char James-Tanny

    Rick, I have to tell you that I’m really liking OpenHook. My husband found and installed it after we got started with Thesis, and it really is quite easy to use.

    I think I’ve tripped over something, though. I want to move the navigation so that it falls after the feature box and before the content_box div. But whether I place it before content_box or after header, it actually shows up before feature_box.(I would expect it to show up before feature_box if I specify after header…it’s the before content_box that I think is confused.)

    I can modify custom_functions.php to get around this…I just wanted you to know :-)

    Thanks again for an awesome plugin!

  91. Avinash D'Souza

    Hi Rick,

    Can you tell me the code you used to get the Creative Commons icon with link back to site next to your name in the copyright? Noob here….my code so far is:

    Copyright 2009–, Avinash Jude D’Souza.

    Is there any way I can amend the Thesis attribution? What I want to say is “This site is powered by Thesis and WordPress” where both Thesis and WordPress are links.


  92. I’ve been playing around with the hooks for days, and just got referred to your plugin, what a relief!!!! Thanks for a great working plugin.

  93. Hey Rick… I’m lovin’ your OpenHook addition to Thesis! I do have one suggestion. Not sure how much of a pain it’d be to add this, but I really like how Chris P. added the + boxes that drop down more info … your OpenHook could be much easier and quicker to navigate if you would put a + after each heading, like Custom Stylesheet, Before HTML, etc. Then what would drop down would be the input box, and “Execute PHP on this hook” type processing checkboxes, and the “Little Ass Save Button.” This way I could quickly get to just what I want to edit, without too much scrolling.

    Again, maybe that’s gonna be too much of a pain to implement, but it seems like a good idea, yes?

    1. That is a good idea… I just have no clue about JavaScript. Haven’t had much time to mess with OpenHook over the past few weeks, but hopefully I’ll be able to get another improvement out into the wild soon. I hope.

  94. Rick – are there any incompatibility issues that you know of between Thesis 1.5 beta 3 and OpenHook? I was making changes via OpenHook to my custom.css file that weren’t reflected in the custom.css file on my server.

    *I* saw the deletions/edits on my admin screen – but another admin kept insisting that I hadn’t make the changes, ’cause he couldn’t see it on his screen. (Yes, I’d hit the little-ass button multiple times!) He even logged out and then back in to triple-check. When I FTP-ed in to my server to download the file and prove him wrong – well, he was right. (I ended up making the edits offline & uploading a fresh file to my server.)

    I love the plugin and would love to continue using it. Let me know if I can provide more information or help in any way.

    1. It should work perfectly. If you’re seeing the custom.css updated in the OpenHook screen, that means the hard file on the server is updated as well. There’s no caching or anything at work, and whenever the page is loaded, it pulls directly from the file.

      The only incompatibility between Thesis 1.5b and OpenHook is that 1.5b introduces a couple of new hooks which I don’t think I’ve added spots for in OpenHook.

  95. John McLearran

    It would be great if you could somehow “export” the changes you’ve made in Thesis OpenHook as properly formatted custom.css and custom_functions.php.

    Any plans on adding this functionality in the future?
    (I’d even be willing to pay for a version that had that option…)

    1. Exporting the custom.css is easy: cut, paste, done. :)

      I’ve thought about doing an export feature, but given the ease of copy/paste and the unlikelyhood of using so many hooks that copy/paste becomes an undo burden, it’s not too high a feature on my list. Once Thesis itself allows exporting of settings, an export of OpenHook settings may get a second look as well. Good suggestion, though.

  96. Hi Rick,

    I’m new to all this coding and hoped that OpenHook would help resolve some of the issues I’ve been struggling with for days. Maybe you could help.
    1. I’d like to put a small logo image to the left of, – not above, and not below – my Title and tagline in the Header.
    2. I want to put the output of the Global Translator Plugin into, (maybe a box?), on the Right Side of my Header (it wants to go into a sidebar widget)., and.
    3. I’d like to get rid of the WP Admin link in the footer.

    I will be most grateful for any directions, advice or links to resolutions to these issues.

    1. Hey John,

      You can be rid of the WP Admin link by going to “Thesis Options” under the “Appearance” menu. On the bottom left there are checkboxes for the Admin link’s level of visibility.

      The easiest way to do the logo on the left is to create a banner, 960 px wide or so, with the logo and title and tagline as part of the banner. Then you can just replace the title and tagline with your custom banner.

      Not sure about putting a content box over on the right above your sidebar, but my interest is piqued . . . I’ll look into it a bit.



  97. Rick, hi,

    I’ve added this line in the Feature Box area:

    ‘menu.html’ is sitting in the ‘custom’ folder, right next to the ‘custom_functions.php’ file and the ‘Execute php’ check box is checked.

    But absolutely nothing appears in the function box.

    I’ve tried different variations:


    When I created a new completely unrelated php page in a separate domain and call that file using everything works perfectly.

    Any help much appreciated!



    1. Hmmm – the php lines I entered don’t show up. Here’s another go:

      I’ve added this line in the Feature Box area:


      ‘menu.html’ is sitting in the ‘custom’ folder, right next to the ‘custom_functions.php’ file and the ‘Execute php’ check box is checked.

      But absolutely nothing appears in the function box.

      I’ve tried different variations:




      When I created a new completely unrelated php page in a separate domain and call that file using everything works perfectly.

      Any help much appreciated!



      1. Rick, hi,

        Yes – Feature Box is enabled.

        I’ve had the feature box working using the custom_functions.php file but I’m trying to create an easy way to revert to a default message in the Feature box when there’s nothing important to say, and to do it through the plugin!

        The escaped call variations I’ve used in the plugin are here:

        <? include("menu.html"); ?>
        <php? include("menu.html"); ?>
        <?php include("menu.html"); ?>

        I’ve got the Execute PHP check box checked.



        1. The third option is the correct format, but it will only work if menu.php is in the wp-content/plugins/thesis-openhook/ folder.

          If you want to store the file elsewhere, you need to include the absolute or relative path to the file.

  98. Rick,

    I was using the scrolling ball on my mouse to scroll around in OpenHook and suddenly ALL the text got much smaller. Also, when I checked my site, everything is compressed on it, too. What happened and how can I undo this? PLEASE HELP!!!

    Thank you.


    1. Rick,

      By “all the text got smaller” I mean ALL of it — the descriptions of the OpenHook boxes, the text on other pages of the Admin area, the site itself. In addition, the site’s column widths changed and got smaller. I was just scrolling in the OpenHook plugin when these changes seemed to make themselves!! What could I possibly have done to change those settings? How can I restore the default column widths and font sizes?

      Thank you!


      1. Rick,

        My problem is a “feature” of Firefox 3 — I must have had the “control” key down while I was scrolling down with the scroll wheel of my mouse and the combination reduced the size of everything on the page. I have fixed it now.



  99. new to wordpress, thesis & thesis openhook.

    am trying to load header: have uploaded .gif image via cyberduck and then entered:

    but the image is broken. have tried a .png as well but no difference. clueless & in need of help. cheers.

          1. Your image source is a broken link. Try removing the “public_html” bit; that’s almost never supposed to be part of the Web-facing address.

            Also, removing the slashes from before the quotes is a good idea too, though that isn’t what’s keeping your image from appearing.

    1. hey there rick — you clearly are a genius — and i still need you help if you have any clues about my broken link ;-) thanks in advance.

  100. Hi Rick
    I am trying to get the text of a custom field to show up in Openhook.

    This string works fine when pasted in a normal WordPress template, but not when I put it into OpenHook. (Yes, I have selected the Execute PHP checkbox ;-) )

    This is the PHP string I’m using – ‘author’ is the name of the custom field
    <?php echo get_post_meta($post->ID, ‘author’, true); ?>

    Not sure if it matters, but I am calling the author name into an Amazon javascript widget, and the line looks like:
    amzn_wdgt.defaultSearchTerm='<?php echo get_post_meta($post->ID, ‘author’, true); ?>’;

    When I look at the source code of my blog page, the search term remains blank as if it is not printing. i.e like this

    As I say, when I put this code into a normal WordPress theme, the custom field prints fine.

    Here’s an example of a page with the Amazon Widget on it so you can see the source code for yourself if you like.

    What am I doing wrong?

    Many thanks for all your hard work on OpenHook

  101. HI! Thanks for the plugin it seems nice, I havent tried it but I wanted to ask somethings first before I do. You see I am a web designer and have been creating wordpress powered websites for a while now. But the thing is I use starkers theme as a parent theme. I know css-xhtml and some php specially wordpress loops and functions. My question is: Is it possible to create virtually any design on css-xhtml and convert it to a thesis theme? Do you think with the limited positions or “hooks” we are bound to be limited on our design ideas/positioning?

  102. Thanks, I’ve been using it with my new thesis setup…But I’ve had a few issues with php code…Not sure if you can help…but I’ve pulled the code right from DIY like for social buttons and tried adding them using this, and it gave me some error messages when I checked the site…Am I supposed to pull a part of the code out?

    1. Chances are, the code block looked something like this (this is a generic example):

      function custom_social() {
      ... social stuffs here ...
      add_action( 'thesis_hook', 'custom_social' );

      That’s the basic pattern for most of Thesis’ custom_functions.php additions. To use that in OpenHook, you would strip out just the actual, functional material to paste into OpenHook. In the example above, that means using only “… social stuffs here …”.

      I can give you detailed instructions if needed if you post the code you’re using.

  103. Hi Rick,

    Does OpenHook 2.3.2 work with WP 3.2.1 and Thesis 1.8.2?

    What’s the highest WP version and Thesis version that it’ll work with?


  104. It´s a very nice Plugin! Now I have a question using Thesis OpenHook on several pages. Is it possible to exclude any pages ore posts from OpenHook? Ore is it possible to use the plugin only on selected content-sites or posts?


  105. Hi, this is a great plugin and I use it often. I have a few wishlist items that may save developers lots of time and make this plugin even more awesome.

    1) When clicking a save button the page should return to the hook that was updated. Perhaps an ajax update? I often edit the same hook many times before getting it right, and if I could avoid scrolling back to the hook after updating it, it would save LOTS of time.

    2) Remembering the text area size. Some of my hooks have 50+ lines of html. I can resize the textarea, but after hitting save it will return back to the default size. If openhook could remember the size, it would be great.


    1. Mike, i’m currently rewriting the plugin — a project which is long overdue. I’m not introducing ajax updating in the next version. I’ve never coded/customized ajax before, so i’m going to make sure i have it working right before trying to add it in. Look for it in a point release.

      The text area resizing is a feature of your browser, not the plugin itself. However, the rewrite includes much more well-endowed text areas for editing!

  106. Hi Rick

    Great Plugin.
    I run 3 sites on the Thesis Theme. 2 are still on the Thesis 1.8.0 version, because there seems an issue with updating them from 1.8.0 to 1.8.4 which is being addressed (more or less) on the forums.
    0ne is on the Thesis 1.8.4 version. I just tried to update to your version 3 on the 1.8.4 site ( when WordPress deactivated it as it claimed an error.
    Just to let you know.

    1. If i’m not mistaken, the plugin is getting deactivated on upgrade because i changed the name of the primary plugin file from thesis-openhook.php to the much more sense-making (well, to me anyway) index.php. WordPress views that as a different plugin, and so considers OpenHook to have vanished. Reactivating the plugin after upgrade is all it takes to get customizing again.

      OpenHook should work fine with Thesis 1.8.0. I’ve not followed Thesis development terribly closely, but the worst thing that could happen is that OpenHook will provide you access to hooks that Thesis 1.8.0 doesn’t support, which will simply result in any customizations added to those hooks being ignored. The majority of the plugin should work just fine.

  107. Hi Rick,

    Just updated Thesis openhook in thesis 1.8.4. It stopped showing ad on feature box. So I did some experimenting and got the error below.

    Fatal error: Cannot use string offset as an array in /home/******/public_html/wp-content/plugins/thesis-openhook/functions-admin.php on line 246

    Tried deactivate,activate,uninstall,reinstall.Nothing worked, just tied up in this error.
    How can I fix this?

    BTW,a great plugin and thanks to you for that.I am sure this issue is temporary and can be taken care of.

  108. Hello Rick,

    I just upgraded your plugin, and I’ve lost all my customization. I’m trying to input them manually again, but nothing shows up in my site. Any suggestions? I’m worried, because I’ve lost two ads scripts. The problem is there either with Thesis 1.8.2 and 1.8.4

  109. Thanks for this awesome update, Rick. I have been Thesis for a couple of years now, with Thesis Openhook saving my life time and time again. Just recently, I’ve decided to graduate from HTML and CSS and start writing PHP. I don’t use Openhook nearly as much as I used to simply because my code is getting more complex (like different Feature Box content of different pages, posts, etc.).

    I definitely would have left Thesis before realizing its true power had it not been for your plugin, though. I can’t believe that all this time I didn’t know who you were. The new interface for the update was a great idea because it immediately put a personality behind the work… so, now I can give you credit.

    Anyway, the update is working just fine for me on and I’ll soon be starting a blog on SDavis Creations where I concentrate on Thesis. I’ll be sure to emphasize your outstanding work.


  110. Hello,
    I have just installed this hook manager thingo, and as a consequence have lost without trace 2 you tube videos and a Thesis ad that were placed after my media box (rotator) above the sidebars 1& 2 on RH side of page.

    I still have the relevant code but am unable to place it back where it was before installing the Word Press plug in prompted update.
    Thanks for any assistance.

    1. Dear Rick,
      It’s been over 30 hours that I have been trying to restore my site after installing the Open Hook upgrade.
      I have bar one problem eliminated all the barriers that disabled and de constructed my humble FIRST ever web site.
      I started teaching myself 3 weeks ago how to use Thesis and the WWWeb building.

      FYI prior to my first contact with you I had tried everything you offered to me and others here ,as a solution to my problems, believe me none of them worked.

      One of the many difficulties I faced was whilst trying to follow your advice the Thesis Hooks control panel was not able to be opened and when it was was erratic opening and closing by itself and not saving settings and not refreshing with alterations made in the open hooks control panel even down to not been able to save column layout alteration corrections that changed for no reason.
      OK enough with what went wrong.

      What did work ?
      I switched from Google Chrome Browser to Fire Fox, I have been using Chrome because a year ago FF was causing me so much grief I tried and switched to Chrome without any problems since.

      I have switched back to chrome some ten minutes and everything is ok except for some text in the rh side bar under a you tube video “Vegas Pro 11” that I cannot find in the hooks or widget settings, I do not have this extra text in the FFox browser.

      I would prefer to use Chrome as I have had too much grief in the past with FFox so If you have any idea as to how to rid the extra text from the page I would be most grateful.

      A friendly suggestion, you are far smarter than me in the area of web site tech etc etc may I suggest though that the highlighted message at the top of this post ie.

      “If you are upgrad­ing to Open­Hook 3 from Open­Hook 2, the first thing you’ll want to do after installing the new ver­sion is to visit the Set­tings -> Open­Hook con­trol panel. From there, you can import your Open­Hook 2 set­tings into the new ver­sion 3 sys­tem; once imported, be sure to enable the The­sis and/or Word­Press actions groups from that same page.”
      In future be made before any opportunity is available for users to up load an upgrade of Open Hooks in the future.

      When it works it works well but when it F***S Up it F***S Up twice as well.

      Thank you for your hard work and product.

      Yours faithfully,

  111. Just upgraded the original plug-in which added the customization panel & ran the upgrade script, but cannot get rid of the message saying that the Open Hook plugin needs to be upgraded. Any idea why?

  112. I’ve lost all my ads too. Glad it’s a saturday which means less traffic, but I’m getting nervous that I won’t get this fixed ASAP. It seems to work if I just put in regular old text, but all the code I was using before like javascript or php is just being ignored.
    HELP please.


  113. I just submitted this as feedback within the plugin, but wanted to post it here to help folks whose sites are breaking after upgrading from OH2 to OH3…

    After upgrading, it breaks custom code because it added backslashes to quotes and apostrophes in path statements.

    Example: became

    If your site is missing content, look at all of your hooks for unwanted backlashes and remove them from all your file paths and it should help.

    Thanks again, Rick.. great plugin (or will be again soon, I’m sure!)

  114. Thanks Rick for the new update. But this one doesn’t seem to work on my site. I have even run the upgrade script as mentioned. I have even double checked if my previous code was properly exported to the new plugin and it is.

    But I have lost my aweber analytics code, the aweber pop-up form & the aweber opt-in form before the end of post. All 3 aweber codes show up in the plugin but don’t work on the site.

    Your help will be highly appreciated. Thanx in advance.


  115. Just did the automatic upgrade of the plugin and lost all my customization too. It is going to be very difficult to fix this since I don’t have all the code in one place.

      1. I figured out I had to check the Thesis box on the activation groups to get my hooks to show. Seems like that should have been automatic. Unfortunately, the upgrade corrupted all the code that it imported from the upgrade from OpenHook 2. I had to get the original code from my cache and replace it all.

  116. This was the most dreadful plugin upgrade ever. All the work I did in openhooks has mostly disappeared. Pressing “Upgrade from Openhook 2” did not bring everything back. What a waste of time to have to redo everything. Second, I liked the option of seeing all my hooks on one page by scrolling. Now I can only see them individually on the screen. There’s no reason not to give the user the option of seeing all the hooks by scrolling the one page or seeing them piecemeal.

    I’m so so very disappointed I hit that upgrade button. What a mess.

  117. Is there a way to delete this version of Open hook and re-install the earlier version? I see no benefit at all to this upgrade. I enter code in some of the hooks and it doesn’t appear on my site. Jeez !!!!!!

    1. Never mind. I got the old version back and fixed everything. This new thing has to be on hold for me. Just no time right now to reinvent.

      1. Pat, i’m glad you were able to get the older version installed again (it’s always available for download via the OpenHook page on the WordPress repository), though i would like to see you be able to enjoy the newer version. Did you activate the Thesis/WordPress action sets on the Settings -> OpenHook page?

  118. Well, this is a DISASTER! I made the mistake of upgrading your new version and not only did I lose the ability to go back to the prior version of Open Hook, this version doesn’t work at all. What a mess. I am really screwed now.

    1. JHS, i’m sorry that your experience wasn’t a good one. Were you sure to upgrade from OpenHook 2 & activate your actions on the Settings -> OpenHook page? You can always downgrade to a previous version by grabbing it from here.

  119. WARNING: Do NOT upgrade this plugin! It will wreak havoc on your site!

    I had to call Blue Host and have them back up my site (fortunately, I hadn’t added any new content today) so that I could get rid of this miserable “improvement” and get my data back.

    If you upgrade, the old version of Open Hook (where all of your customizations are stored) will be disabled so that you can no longer use the handy, one-page view. And you will not be able to see them again. Thus, you will lose all of your work!!!!

    As noted above, there is no value to the new user interface at all. I prefer, as someone noted above, to use the one-page layout where I can easily scroll up and down the page. Trying to get to the Settings page is another useless mouse click with no return whatsoever. Now if the interface could be inserted on the Dashboard, that might be progress. If not? Fuhgedabout it.

    Disgusting waste of my time.

    1. JHS, given the feedback, i’m going to add a way to view all hooks at once; i removed it because the majority of people prefer not to scroll — having what they want right in front of them is almost always preferable.

      And again, you don’t lose anything as far as data goes by upgrading to OpenHook 3. If you don’t like it, simply delete it & reinstall an older version from the WordPress plugin repository. Unless you used the option to delete legacy options in OpenHook 3, your version 2.x.x options will be there waiting for you when you downgrade.

      If you want to access your hooks quicker, there are links in the Admin sidebar for each of them:

      Under the Thesis section, there is a link to the Thesis hooks.
      Under the Appearance section, there is a link to the WordPress hooks.
      Under the Tools section, there is a link to the phpinfo() panel.
      And under the Settings section, there is a link to the OpenHook General tab.

      1. Rick, I do know how to read and I did so — very carefully. (FYI: I am a lawyer & reading is essential in all aspects of my life.)

        YES, I activated from the Settings panel. NO, I did not use the Legacy option, but still my site lost all of its customizations that had been implemented via the original plugin so there was a malfunction caused by the upgrade.

        NO, I could not go back to the original Open Hook plugin without reverting to a prior backup copy of my site.

        Contrary to your assertions, Rick, Open Hook ceased to be listed as one of the installed plugins on my site. I got a message across the top of my plugin page saying that the plugin was removed because it “no longer exists,” even though I could see that it was still installed by looking at the plugin directory on my server file listings. The link to it via Appearance > Open Hook also disappeared, so I would have had no way to update my customizations even if they had shown up on my site which they didn’t.

        Also contrary to your assertions about the continuing availability of the original version, I searched for it in the WordPress plugin repository by using the add new plugin search function at the top of the installed plugins page in WordPress. “Open Hook” produced only the upgraded version, not the original.

        In other words, I was screwed because your upgrade simply didn’t work and I could not just reactivate it and resume using the original version until you got the bugs worked out. I had to resort to restoration from the night before via backup copy of my site.

        In other words, I wasted a lot of time on this yesterday that I could have used more productively. Perhaps more careful testing of the plugin will produce better results next time. Frankly, I was shocked because I have been using Open Hook with great results since you first introduced it and for that, I do thank you.

        1. YES, I activated from the Settings panel. NO, I did not use the Legacy option, but still my site lost all of its customizations that had been implemented via the original plugin so there was a malfunction caused by the upgrade.

          In order to use customizations created with OpenHook 2 (the old version), you must click the “Upgrade from OpenHook” button in the new version’s General setting. Otherwise, yes, it will appear as though you lost all of your work.

          NO, I could not go back to the original Open Hook plugin without reverting to a prior backup copy of my site.

          Unless you pressed the “Remove legacy options” button in the new version, the old version’s options would have still been in your database — no database backup required.

          Contrary to your assertions, Rick, Open Hook ceased to be listed as one of the installed plugins on my site. I got a message across the top of my plugin page saying that the plugin was removed because it “no longer exists,” even though I could see that it was still installed by looking at the plugin directory on my server file listings. The link to it via Appearance > Open Hook also disappeared, so I would have had no way to update my customizations even if they had shown up on my site which they didn’t.

          Did you check the Plugins screen? WordPress deactivates OpenHook on upgrade because the name of the file changes; however, the upgrade is still installed and simply needs to be activated; it’s listed in the plugins panel as “The OpenHook Customizations Manager.”

          Also contrary to your assertions about the continuing availability of the original version, I searched for it in the WordPress plugin repository by using the add new plugin search function at the top of the installed plugins page in WordPress. “Open Hook” produced only the upgraded version, not the original.

          When you go to the upgraded version’s repository page, click “Other Versions” in the right sidebar (underneath the ratings panel). Every previously released version of OpenHook is available there for download.

          In other words, I wasted a lot of time on this yesterday that I could have used more productively. Perhaps more careful testing of the plugin will produce better results next time. Frankly, I was shocked because I have been using Open Hook with great results since you first introduced it and for that, I do thank you.

          OpenHook 3 was solid; i stand behind it. The vast majority of users reporting problems to me are doing so because they did not read the instructions, and while there have been other bugs (some minor, some not [rare], and some users hadn’t even noticed yet…), those were dealt with promptly in subsequent releases.

          I appreciate that you didn’t have the smoothest experience possible, and i do blame myself for that; i should have found a way to better communicate how to upgrade from Thesis OpenHook to the OpenHook Customizations Manager.

          1. OMG, Rick!!!

            >In order to use customizations created with OpenHook 2 (the old version), you must click the “Upgrade from OpenHook” button in the new version’s General setting. Otherwise, yes, it will appear as though you lost all of your work.

            I DID THAT. Just as I explained.

            >Unless you pressed the “Remove legacy options” button in the new version, the old version’s options would have still been in your database — no database backup required.

            WRONG. I never touched the Legacy option. NEVER. But all customizations were gone.

            >Did you check the Plugins screen? WordPress deactivates OpenHook on upgrade because the name of the file changes; however, the upgrade is still installed and simply needs to be activated; it’s listed in the plugins panel as “The OpenHook Customizations Manager.”

            OF COURSE. I already explained that that’s precisely what I did. Dude, Open Hook was NO LONGER LISTED as a separate plugin, not just deactivated. It was NOT THERE. Yes, “OpenHook Customizations Manager” was listed, but that did me NO GOOD since 1) it was not working properly (no matter how much argue with me, the fact remains that I upgraded and did not use the Legacy option but there were NO CUSTOMIZATIONS present in the drop-down menus. They were ALL BLANK and my site did not reflect any of the customizations in any way, shape or form. All Open Hook code was GONE. Since restoring my site to the earlier backed-up version, there are TWO plugins listed, one activated and one not, since I have not deleted the new version.

            >When you go to the upgraded version’s repository page, click “Other Versions” in the right sidebar (underneath the ratings panel). Every previously released version of OpenHook is available there for download.

            Well, it wasn’t available using the PlugIns Search option because I was looking for the CORRECT name, not the revised one.

            >OpenHook 3 was solid; i stand behind it. The vast majority of users reporting problems to me are doing so because they did not read the instructions,

            I’m sorry, but insulting me by insisting that I didn’t read the instructions properly & follow the directions is demeaning, offensive, and completely inappropriate. Your plugin was NOT solid, as my experience demonstrates. I followed all the instructions to the letter and it FAILED.

            I am not some computer newbie. I am a power user. I have used Thesis since the initial release. Ditto Open Hook.

            Bottom line: OpenHook Customizations Manager = FAIL.

  120. I wish people would stop ranting less and start reading more. This plugin is installed on all my (and my clients’) sites and I updated the plugins on all sites today. I panicked at first because I lost all my customizations after upgrading, but after a little tinkering with the new (and I must say vastly improved) interface, I found that THERE IS AN UPGRADE PATH inside the OpenHook Customizations Manager under the General tab. One click of the Upgrade from OpenHook 2 button and everything was back to normal.

    This is a must-have plugin for anyone using the Thesis theme, and if you’ve been using this for free to make your sites even more awesome for as long as you have, the least you can do is respect the plugin author and hear what he has to say.

    READ, people. It’s good for the brains.

    And no, I’m not a friend of Rick’s. But today I became a bigger fan.

  121. Thanks for the tip about activating the hooks with Settings->Openhook!

    I was frustrated that things weren’t working and this is not an obvious thing to find. Even when looking at it, it wasn’t clear to me. Maybe call it “Activate Custom Hooks” instead of “Activate Action Groups”, and maybe call the activation check boxes “Thesis hooks” and “WordPress hooks” instead of just “Thesis” and “WordPress”.

    Of course it is abvious “as is” after you figure it out LOL

    Maybe a warning that custom hooks are turned off when working in OpenHook Customizations Manager.

    Everything works great now. I don’t know if this solves the updating from ver 2 as mine was a new install.


  122. Yikes. Followed all instructions, half of the stuff doesn’t work and the new interface is too hard to use, can’t search through all my existing hook’s code with simple Ctrl+F. Forget it, I’m happy with 2.3.2, wish I could just shut off the “new version available” notice. I won’t be upgrading.

    1. As i said in a recent comment, the ability to view all hooks at once (which the majority of people disliked in the OpenHook 2 era) will be brought back, but it won’t be default.

      You say half of the features don’t work; could you be more specific? “It doesn’t work” isn’t a useful bug report.

  123. Hi Rick,
    I am new to WP and OpenHook.

    The 2.x version was easier for me to use because I was able to see everything at once, but I do not know enough ‘code’ php stuff to appreciate the value of 3.x

    I went back to 2.x and will wait for a video on how to ‘do stuff’ with 3.x. THe videos really help me learn by watching you do stuff and listening to the tips. A few short 1-3 min videos will make the new version seem less overwhelming for newbie WP / nonPHP folks like me … just a suggestion.

    THanks for your hard work. Pleasing users with very broad ranges of expertise is no easy task.

    Ann Arbor, MI

  124. I had the same experience.

    I logged into my site – it immediately upgraded my thesis hook plugin to this new one, and wiped out my code that I had put into a thesis hook.

    (There was no choice for me not to do this – my old plugin was simply disabled. )

    Now – not only am I not sure what the code was – but assuming I can find it – I don’t know where in the hooks it went.

    It was a highslide code for opening pages that contain video in a separate window while dimming the background.

    You can help me first by telling me what “hook” would that have been in ..(I had no idea I would need to remember it since it has been there for a few years)

    This is kind of a disaster for me since we have tons of video which no longer opens correctly ..

    1. A follow up – in case it helps anyone else. I found my old script in the wordpress section under header. I copied and pasted it into the thesis header .. and all is well. Whew – now I am sure if I learn the rest of the hooks it will be fabulous. Thanks!

    2. @Beca- that sounds almost exactly like what happened to me (I don’t remember upgrading the plug-in) and now most of my code that i had in those hooks is gone; it’s not in my WP- header or footer files, though.

  125. I must have updated this plug-in without checking to see if it would work with my version 1.6 of thesis theme because it’s the only thing I can think of after having a totally messed up dashboard as a result. from what I’m reading it seems as though this plug in works with thesis 1.8.4 but since I’m not there yet, it’s not only looking terrible on the user interface, but also in the back end.

    Should I: 1) upgrade the thesis them to 1.8.4 to see if that fixes the problem?

    Can I: 1) downgrade this plug-in first to see if that is the problem with my site’s interface problems?

    any help is appreciated. thank you.

  126. I’ve had the same experience several others have mentioned with the upgrade. Update to the new version of OpenHook, attempt to run the upgrade script, and nothing happened.

    Attempting to re-install the old version now.

  127. I’m getting this error:

    Warning: Cannot modify header information – headers already sent by (output started at /homepages/32/d291318863/htdocs/wp-content/themes/thesis_184/custom/custom_functions.php:1) in /homepages/32/d291318863/htdocs/wp-includes/pluggable.php on line 866

    There’s nothing in my custom_functions.php file.

    Please help.

  128. Openhook 3.2.1 does not work on my site. It appears as though Openhook is deactivated as not one of my customizations shows at all, even though the code is showing on the Openhook settings page in the admin area.

    I tried both an upgrade and a complete fresh install. I upgraded from 2 to 3 in the settings page as instructed, but nothing I have tried has fixed it.

    With Openhook activated it looks identical to the way it would be if I had Openhook deactivated or uninstalled.

    I fortunately had a copy of Openhook 2.3.2 on my hard drive and re-uploaded that to my server and went back to that. My original customizations seem to have all been retained, even after uninstalling OPenhook before reinstalling the old version.

    Fortunately I have my site back the way it was, but it’s back running on Openhook 2.3.2 and will stay that way until I am confident that this problem is not going to re-occur.

  129. Not working for me – I installed Thesis 1.8.4 for the first time on the site, installed Openhook for the first time, ticked the Thesis & WordPress boxes in Settings and it promptly crashed with the following:

    Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /websites/123reg/LinuxPackage21/ba/ke/lo/[my domain in here]/public_html/wordpress/wp-content/plugins/thesis-openhook/functions-options.php on line 26

    Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /websites/123reg/LinuxPackage21/ba/ke/lo/[my domain in here]/public_html/wordpress/wp-content/plugins/thesis-openhook/functions-options.php on line 28

    Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /websites/123reg/LinuxPackage21/ba/ke/lo/[my domain in here]/public_html/wordpress/wp-content/plugins/thesis-openhook/functions-options.php on line 28

    I’m going back to the previous version if I can find it – that worked beautifully…

  130. Jeanette Hughes

    I just upgraded to this version of Open Hook. I’ve been using the original Thesis Open Hook, which I now cannot find anywhere, and all of my settings disappeared. This new version doesn’t seem to take the coding I had before and it’s totally not working the way I thought it would. I’m no php coder, so this is making it harder for me.

    I don’t understand the stuff that’s in the OpenHook settings panel.

    Is there any way I can install the backup of my site and get my old Thesis OpenHook back? I’m working on a site I need to get certified, and now it’s all messed up. :(

  131. Had to reinstall the old version. This version does not work at all – no custom header, no footer, no debug, etc.

    Bad update! Could you perhaps make the old version easily available for people wanting it?


  132. I installed OpenHook on a new site today and I am finding that the hooks aren’t working. I have tried several including trying to remove the Thesis attribution – no changes on the site. I am not sure what’s going on or how to get around this.

  133. OpenHook 3.3 has just been released; it fixes all known bugs, introduces a notice on hook pages if that particular group of hooks is disabled, and introduces the ability to display visualizations of the hook locations on your blog front-end.

    Everyone is encouraged to update! :D

    To everyone above:

    • If your old (OpenHook 2.x.x) customizations are not showing up, you need to Upgrade from OpenHook 2, the instructions for which are at the very top of the page.
    • If your customizations are showing up in the WordPress/Thesis Hooks panels but are not being recognized on the front end of your site, you need to activate the appropriate action group (WordPress and/or Thesis) on the General tab of OpenHook.
    • If you have been receiving errors about this or that not being an array, that error has been fixed in 3.3.

    Thank you all so much for your patience in dealing with these bugs. Developing OpenHook is a very, very small part of my time and necessarily takes a back seat to my kiddo and full-time job, so i appreciate everyone pointing out the bugs so i can learn from them!

  134. Just tried to upgrade again. Same experience as with the previous version. I installed the upgrade, clicked the “import” button, got a “success” message. The activated the Thesis hook group. But nothing imported – the hooks I have programmed are coming up empty, which leaves several areas on my site broken.

    If you want to look at my site configuration and see what’s causing the import to fail, you’re more than welcome to do so – just contact me offline and we can set something up.

  135. Hi folks.

    I tried upgrading openhook for a client site today, and ran into a lot of the problems mentioned above thread. Now I have my hooks displaying fine, but the Thesis navigation menu is gone. (I checked my Thesis options, and everything in that section looks fine.)

    Other than downgrading back to version 2, is there anything I can do to get my navigation menu back? I’m running version 1.8 of Thesis, and I know I could upgrade to 1.8.4, but I’m hesitant to do so while there’s something currently broken.

    Thanks! -Amelia

    1. Amelia, were you using OpenHook to customize or display the navigation menu at all? Check the hook thesis_hook_before_header. The box near the bottom of that hook’s options should be left unchecked (checking it disables the nav menu).

      1. Hi, Rick. Thanks for getting back to me. I’m not using thesis_hook_before_header, but I do have an html dropdown menu in thesis_hook_header, if that information helps you out at all. I ended up downgrading back to Version 2 of the plugin for the time being, because I just couldn’t figure out what the problem was.

  136. Mike | The Mobile Fanatics

    Ok I got the newest version working. How can I make a backup of the openhook settings from the WordPress interface. If I recall, it was possible under the Thesis options in the past.

    1. Backing up OpenHook’s options has not been possible in any version of OpenHook (and has certainly not been present in Thesis that i’m aware of). Full backup & import is on the roadmap for the next release.

  137. OK I went into my admin area and it said to update OpenHook. I updaged but I get a message saying it’s been deactivated. Now what? I paid someone to do my initial Thesis install in January when I launched my blog, and I’m trying to avoid having to pay again. So, what do I do? Do I just re-activate?

  138. Love open hook, thank you so much for all you are doing. But… I am another of those who have had problems with the upgrade.
    -WP disabled it as documented by you and others above
    -I also didn’t find it in the WP repository
    -I used the upgrade button on the interface and that did successfully give me back my adsense that disappeared on the upgrade. But…
    -Now I’ve lost my site title/byline and navigation – tried thesis and wp menus but nothing makes a difference.

    I can’t find any reference to this problem here so I am wondering if you can help me get them to show again, please.

  139. Update: I deactivated the new version and then uploaded the old one via ftp into the plugin folder and activated it again and all my title, menu and adsense are back as they were.

  140. Just updated the Thesis OpenHook Plugin, and the update made me lose all my coding.
    I thought the issue might just be that one site so I installed it on another site and my coding doesn’t work at all.

    And to be honest even if it did work I would probably down grade anyway due to the new format, which in my opinion is pretty bad to work with.

  141. In response to most everyone i haven’t gotten back to yet, please read the yellow box at the top of the screen; it tells how to upgrade w/o losing actions & how to activate current actions.


  142. wow. What an interesting conundrum; a great free plugin that everyone loved and was so thankful for – now bitterness and burned bums for all your trouble, Rick.

    I am so sorry for all this pain on all sides and I feel for you so much.

    Unfortunately, there are so many of us not getting trouble free upgrades. Rick you seem to feel that all the questions are answered in the yellow box, but I must say (I know I am thick) I don’t follow what those instructions are.

    Can they be spelled out in clearer steps perhaps?

    On one site, I had success in rolling back to the earlier version (as reported above) but when I tried to do that on another site, it didn’t work at all; WP kept automatically disabling the old version so I could never “reactivate”.

    “Settings -> OpenHook control panel” [not accessible; WP deletes it]
    “import your OpenHook 2 settings into the new version 3 system” [this is done by clicking the button? could be more clearly explained]
    “enable the Thesis and/or WordPress –actions groups– [can you say more about what they are? I couldn’t see/can’t recall seeing that option and I don’t know what it is.

  143. Hey Rick, I have installed your updated version of 3.3.1 this morning and your product deletes my header and top nav when running. I would also like to ask that you add a toggle of some sort, either in adding color to the drop down where text has been added into a hook block or allow us to make the choice of having the list fully expanded or not.

    I personally don’t like to hunt and peck through 25 different drop down categories to find the one that I have added some text to in the past, I just don’t have that kind of patience.

  144. Rick,

    I haven’t posted here before, but I’m a long-time user of Openhook, and think it’s probably the plugin that makes the most difference to my day-to-day design and modification of websites. In other words, your plugin is awesome.

    Just wondering – why, in version 3, did you change it so that all of the hooks are not viewable on the same page? I often move things around or copy and paste from one hook to another, and having to use the dropdown menu (especially when I don’t always remember which hook I put something into) makes changes a lot slower.

  145. I’ve been a real fan of OpenHook but this recent upgrade has, unfortunately, made me apprehensive about using it.

    I followed the upgrade from v2 to v3 settings. Although my old customisations were back, I lost my top nav bar in the process.

    Hopefully, it’ll settle down and make it back to my trusted plug-ins list.

    1. I’m not sure what would cause your navigation bar to disappear — i’d need to know more about how you’re creating it to diagnose that — but future versions of Thesis will use the same options framework as the current version; in other words, there will be no needs for any drastic changes that will lead to potential upgrade woes. It’s just sunny skies & improvement from here on!

  146. Adrian is not alone; I too lost my nav bar and also my site title and description from the header area. I tried switching back and forth between thesis and WP menu but it made no appearance

  147. You don’t have thesis_nav_menu disabled in the thesis_hook_before_header settings of OpenHook’s Thesis panel do you? The box should be left unchecked if you’re wanting to leave Thesis’ menu there.

  148. I believe this may be a problem with the thesis hook “Header” or a combination of the header related hooks.

    I have defined a widget area which I put into the header hook, so it appears at the top right of my website next to the site logo at the same height. In addition to that I removed the thesis nav menu from hook “Before Header” and put it in the hook “After Header” using

    I have left “Remove Default Header” unchecked.

    You can see the result on my website (just click my name). However this is using Openhook version 2. When I upgrade to v3.3.1 and execute all the required update options and check all the required boxes the following happens:

    All hooks, nav menu, header etc. remain and are displayed BUT… the text that normally appears in the top-right appears on the right, but below (after) the header area, creating a gap between the nav menu and my content.

    It seems that the contents of the header are now being parsed differently to the way they were before.

    Is there a small error in the coding of the header part of the plugin that is parsing the “header” hook contents below the default header?

    As I say, I have not changed any of the actual content or placement of any of my hook code.

  149. I’ve checked & double-checked the header definitions in the Thesis hooks within OpenHook, and they’re fine (except for a minor bug in the upgrade-from-2.x.x function affecting only a “Process PHP on this Hook” flag).

    As for the processing of the hooks themselves, they are processed using the exact same hook names that appear in the drop-down list of hooks in the admin panel, and every hook is processed using the exact same bit of code. If the hook is spelled correctly in the drop-down list, then it’ll process fine.

    In other words, i’m not sure of any reason why certain header customizations would be malfunctioning.

  150. I seem to have fixed the header display problem by changing a CSS definition. I offset the margin-top value by a – value of the height of my header and it now displays as it used to before.

    However I’m not keen on this fix as it means I will have to go make the same change in every CSS sheet on all my other Thesis built sites (which is quite a lot!) and I’m not sure it’s good practice to modify a site’s style sheet in order to accomodate a plugin update.

    I’m pretty happy with version 2 for now, so I can live with that.

  151. Hi Rick,

    Had issues in the beginning when you released ver 3. But ver 3.3 just fixed all issues. My ads are back and all other hooks are shown.

    Also want to mention that some of the error mentioned above, I did face the same on some of other sites though. But the solution was simply stupid. Just clear the cache if you are using any cache plugin. I assume atleast some of the errors can be fixed by clearing cache after doing the update.

    Thanks again Rick for the wonderful plugin.

  152. You make a great point, Anup. Cache plugins have to be cleared after doing customizations, just as they would after modifying Thesis’ native custom/ files. I’m not sure there is a universal way to flush the cache via a plugin that would accomodate all caching plugins (Hyper Cache, Total Cache, Super Cache, etc.), but if there is, i would love to know it. As is, future versions of OpenHook will provide a notice urging users to flush the cache after updating customizations.

  153. Hi, I used OpenHook for several things that translated over into the new version, but I don’t know how to get my nav bar under the header again – it moved when I upgraded. Can you help?


  154. I’d need to know the method you were using to move it to below the header before.

    In the new version, you can disable the default header in the above_header hook, and then use <?php thesis_nav_menu(); ?> in the below_header hook.

  155. Hi

    I just upgrade the Thesis OpenHook and found that it will remove the ‘Tag’ in our post.

    I am using Thesis 1.8, just upgrade to The OpenHook Customizations Manager 3.3.1 from Thesis OpenHook 2.3.2

    I did click the ‘Upgrade From OpenHook 2’, and ‘tick’ the Thesis Active action groups.

    Now all the Tag disappear from the post. Pls advise, Tks a lot.

  156. My tweet is up there! Lol… I love that.

    Again, great work, man. Without this plugin, I never would have understood the power of Thesis. And Thesis has changed the way I do things online. So, kudos to you. I’ll buy you more than a pi(e) soon… most definitely.

  157. I’ve also experienced the disappearance of the Thesis menu upon upgrading to the version 3.3.1 of this plugin. I hadn’t used any hooks to create the menu. I used Thesis Site Options for that, instead.

    Using version 3.3.1 of this plugin hides the menu (it’s not even the HTML source code), and downgrading to 2.3.2 displays it.

    Using WP 3.3.1 and Thesis 1.8.

  158. I downgraded back to the previous OpenHook because messing around with the code is something I did not want to have to do. My header went missing, my nav bar went funny and even my bus was late that day, it done all sorts of things. When I down graded it was all back to normal, not too much coding, less hassle and bus came on time too.

    I hate that constant upgrade message in my WordPress Plugins page now. Man, I’m whining today.

  159. Hi Rick

    Tks for the reply on the disappearing tag issue.

    I found the issue/bug, need to resave the ‘thesis_hook_after_post’ option, then the tag will appear.


  160. Hi Rick, thank you for upgrading OpenHook! I’m just getting around to updating client sites to 3.x.x from 2.x.x. In a Thesis 1.8.4 site that uses the WP menu, I had no problems at all when I upgraded OpenHook. However, in another site which is running Thesis 1.8.2 with the Thesis nav menu, my header disappeared when I upgraded OpenHook to 3.3 today.

    Both sites have the identical remove/add_action in custom.php for the ‘thesis_nav_menu’ from ‘thesis_hook_before_header’ to ‘thesis_hook_after_header’. And neither site had anything listed in OpenHook 2.x.x for those hooks.

    I had to roll OpenHook 3.3 back to 2.x.x on the Thesis 1.8.2 site because I don’t have time to look for a work-around right now. Is it possible that the problem lies with the Thesis nav menu? Comments in the Thesis forum state they are phasing it out. I couldn’t find a detailed Thesis version change log anywhere, so it’s not possible to know what part of that “phase” we’re in now. :)


  161. I had the same header issue everyone above was having.

    – I disabled caching
    – checked thesis_nav_menu disabled in the thesis_hook_before_header settings of OpenHook’s Thesis panel
    – saved
    – unchecked, and saved again

    and for some reason displays correctly according to my previous v2 settings.

  162. I am using your Open Hook Customization Manager i.e. version 3.3.1 and i want to know that, is there any possibility to back up the settings of openhook.
    I want to export settings for my openhook settings for more security.
    Your guidance will be useful.
    And i appreciate your work and passion for delivering such add on to all thesis user.
    Nice work. Keep it up.

  163. I have upgraded OpenHook on one of my sites that is not used for anything yet (thank God I didn’t do it on my main site!), followed all the directions and it made the header of the website disappear! Also, I really dislike the new interface; too different, too many confusing options, too many things to click on just to get something done, etc. I liked the old look with seeing all the hooks on one page much better as many others have mentioned above me. I downgraded back to the previous version. I’m definitely not going to ugrade again. Too risky and too different.

    It is always best to make changes in small doses. The new OpenHook was a real shocker that instantly got me alarmed and it seems like this was the experience of many others as well. Next time you make some changes please keep the end-user in mind. Some of us have been using OpenHook for years and are very used to the format. To do an upgrade and find something totally different and unexpected was a real jolt. Then it doesn’t work…)c:

  164. The old open hook used to have instructions for the code to add the nav menu below the header. Now it doesnt so i can remove the nav from the top but cant seem to add it to the hook below header. Can this be added in – also how do I move it now?

    1. It can be moved in the same way. Click the box in the above_header hook to disable the nav menu. Then, in the below_header hook, use this code (don’t forget to enable code processing on the hook!): <?php thesis_nav_menu(); ?>

  165. I’ve been using Thesis Openhook for ages, but just upgraded on one of my sites. As I’m trying to recover and get things back to normal, I find that the asterisk feature isn’t working.

    When I open Thesis Hooks in the manager, it lists almost all of the hooks as used (*), even though only a handful have anything customized.


  166. This is a good upgrade, however, there’s only one thing I liked that was in the old that is not in the new.

    Since the old had all the hooks textboxes showing, I was able to do a Ctrl (or w/e Apple equivalent) + F and find the code or hook I was working with, but in the new I don’t have that benefit, so then I end up having to go into the dropdown, look for the hook and check which one of them is the hook/code I was working with. And to make my life easier, I just went into the DOM console and executed $(‘.hook’).show(); to make all the hooks show.

  167. Alison, the same thing happened to me when I upgraded. All you have to do is hit Save on that screen and then the extra asterisks will go away.

  168. Asoka Selvarajah


    I am finding that when I update/upload any plugin or update WordPress itself, Thesis OpenHook gets deactivated. When I reactivate it, it does not work even though it is listed right there in the plugin list. In fact, the only way to get it to work is to completely upload it to the blog all over again, over-write the existing, and then activate it. Obviously, this gets very tiresome after a while.

    Do you know of this bug and have a fix for it?

  169. Hi,

    I am facing an issue that I need to fix as soon as possible. My issue is I am not able to edit any of the hooks. Whenever I edit the hook and press save button, this will take me back to the home page. I am not understanding why this is happening.

    I have WordPress MU installation and recently I have upgraded open hook plugin to it’s latest version. But this isn’t help me out.

    Please suggest me the possible solutions of this problem so that I can fix this problem. As it is VITAL to edit hooks as I need to show content for my clients.


  170. OpenHook has been updated to version 4.2.1, featuring minor improvements in the localization system. I’ll (finally) get around to updating the above post soon — a lot has changed since the version 3 days, and I need to get that info up. Until then, you can find all the goodies at WordPress’ plugin directory.

  171. I’ve been out of the WordPress scene for a long time. I think that OpenHook still works these days, but looking at the themes I made sure to include hooks for in the system, it seems as though most of them are defunct. sad trombone noises

    So I went through the above post just to clean it up a bit: converted it to Gutenberg blocks, removed broken links throughout, removed the entire “praise for OpenHook” section as all of the linked tweets and sources of praise no longer exist, and a few other things. It’s wild how much the Internet has changed since I first released OpenHook all those years ago (over a decade!).

    I don’t know how relevant a plugin like OpenHook is anymore, but judging by how many theme authors feel the need to charge premium prices for basic customizations… I’m betting that having OpenHook around would still be useful to some people.

    So an update is in the pipeline, and I hope it’s worthwhile.

  172. OpenHook 5 has begun active development!

    Some of you may have noticed that DIYthemes has invalidated your “lifetime” Thesis licenses, rendering your sites blank. As much as I want to like the Thesis framework, I disagree with DIYthemes’ business decisions and insane “our ways are best ways and anyone else is obviously doing it the worst ways” approach to community engagement.

    Therefore, I will not be purchasing a license to whatever the flavor of the year theme is over on DIYthemes in order to keep my development installation going. What this means is that I have no visibility to what hooks Thesis or other DIYthemes themes may or may not have, nor am I able to test OpenBox, the OpenHook box for Thesis.

    Previous users of OpenHook will continue to have a working OpenBox installed, and it’ll continue to work until DIYthemes code updates invalidate how OpenBox works. I will not uninstall OpenBox for you in the next version of OpenHook; however, I will be removing all code that references it, leaving the old OpenBox in place to last as long as it can on its own. I’ll also continue to support the list of Thesis hooks currently in the plugin.

    Going forward, however, I’m developing OpenHook with a ClassicPress-first mindset, They’re development philosophy fits better with what OpenHook facilitates than the current WordPress direction, which removes hooks from themes in favor of block-based editing which limits the ability of users to customize things. WYSYWIG with pre-made blocks will never be able to facilitate what custom coding does. (I absolutely despise how every other blog I come across is the same sort of copy/pasted marketing website with content designed for Google first and real humans second. Blogs used to be a joy to read, dammit.)

    So ClassicPress-first, with support for WordPress, and I’m looking for new themes to support as well if there are any good ones with hooks to add… and all of the Thesis stuff? It’s kinda deprecated, and I hate to do that because Thesis users absolutely put OpenHook on the map, but I gave up riding DIYthemes’ coattails ages ago and I’m taking a further step away with OpenHook 5.

Leave a Comment

Your email address will not be published. Required fields are marked *

Use your Gravatar-enabled email address while commenting to automatically enhance your comment with some of Gravatar's open profile data.

Comments must be made in accordance with the comment policy. This site uses Akismet to reduce spam; learn how your comment data is processed.

You may use Markdown to format your comments; additionally, these HTML tags and attributes may be used: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.

the Rick Beckman archive
Scroll to Top