How to publish a post with empty title and empty content?

If the post content, title and excerpt are empty WordPress will prevent the insertion of the post. You can trick WordPress by first filtering the input array so empty values are set to something else, and then later resetting these values back to empty strings. This will bypass the standard check. add_filter(‘pre_post_title’, ‘wpse28021_mask_empty’); add_filter(‘pre_post_content’, ‘wpse28021_mask_empty’); … Read more

How can I remove the WP menu from the admin bar?

This menu is added in WP_Admin_Bar::add_menus() with an action: add_action( ‘admin_bar_menu’, ‘wp_admin_bar_wp_menu’, 10 ); To remove it take the same action – just one step later. The following code works as a mu plugin or as a regular plugin: <?php # -*- coding: utf-8 -*- /** * Plugin Name: Remove WP Menu From Tool Bar … Read more

Using a private method as an action callback from within a class

It’s not possible to call a private method through an action or filter. When calling add_action or add_filter, WordPress adds the callback to a list of callbacks for that specific action or filter. Then, when do_action or apply_filters is called, WordPress uses call_user_func_array to call the linked functions and methods. As call_user_func_array is not called … Read more

How to set custom cookies before output

Depends on whether or not you need to check against WordPress’ user authentication. If you need to know whether they’re a logged in user, hook onto ‘init’. Otherwise, the sooner the better. If it’s something that should fire on every page load, and only checks for existence of the cookie and doesn’t need to tap … Read more

Action hook on Edit custom post type?

register_post_type() has a registration option called ‘register_meta_box_cb’. Set that to a valid callback and it will call that function only when it is compiling the meta boxes for that post type’s edit screen. Something like this: register_post_type( ‘foo’, array( ‘public’ => true, ‘label’ => ‘foo’, ‘register_meta_box_cb’ => ‘bar’, )); function bar(){ add_meta_box(‘blah’, ‘blah’, /* etc … Read more