* // Declare support for all hook types * add_theme_support( 'blog99_hooks', array( 'all' ) ); * * // Declare support for certain hook types only * add_theme_support( 'blog99_hooks', array( 'header', 'content', 'footer' ) ); * */ add_theme_support( 'blog99_hooks', array( /** * As a Theme developer, use the 'all' parameter, to declare support for all * hook types. * Please make sure you then actually reference all the hooks in this file, * Plugin developers depend on it! */ 'all', /** * Themes can also choose to only support certain hook types. * Please make sure you then actually reference all the hooks in this type * family. * * When the 'all' parameter was set, specific hook types do not need to be * added explicitly. */ 'html', 'body', 'head', 'header', 'content', 'entry', 'comments', 'sidebars', 'sidebar', 'footer', /** * If/when WordPress Core implements similar methodology, Themes and Plugins * will be able to check whether the version of THA supplied by the theme * supports Core hooks. */ //'core', ) ); /** * Determines, whether the specific hook type is actually supported. * * Plugin developers should always check for the support of a specific * hook type before hooking a callback function to a hook of this type. * * Example: * * if ( current_theme_supports( 'blog99_hooks', 'header' ) ) * add_action( 'blog99_head_top', 'prefix_header_top' ); * * * @param bool $bool true * @param array $args The hook type being checked * @param array $registered All registered hook types * * @return bool */ function blog99_current_theme_supports( $bool, $args, $registered ) { return in_array( $args[0], $registered[0] ) || in_array( 'all', $registered[0] ); } add_filter( 'current_theme_supports-blog99_hooks', 'blog99_current_theme_supports', 10, 3 ); function blog99_header() { do_action( 'blog99_header' ); } function blog99_site_branding() { do_action( 'blog99_site_branding' ); } function blog99_menu() { do_action( 'blog99_menu' ); } /** * Semantic hooks * * $blog99_supports[] = 'content'; */ function blog99_content_before() { do_action( 'blog99_content_before' ); } function blog99_content_after() { do_action( 'blog99_content_after' ); } function blog99_content_top() { do_action( 'blog99_content_top' ); } function blog99_content_bottom() { do_action( 'blog99_content_bottom' ); } function blog99_content_while_before() { do_action( 'blog99_content_while_before' ); } function blog99_content_while_after() { do_action( 'blog99_content_while_after' ); } function blog99_content_loop(){ do_action('blog99_content_loop'); } /** * Semantic hooks * * $blog99_supports[] = 'entry'; */ function blog99_entry_before() { do_action( 'blog99_entry_before' ); } function blog99_entry_after() { do_action( 'blog99_entry_after' ); } function blog99_entry_content_before() { do_action( 'blog99_entry_content_before' ); } function blog99_entry_content_after() { do_action( 'blog99_entry_content_after' ); } function blog99_entry_top() { do_action( 'blog99_entry_top' ); } function blog99_entry_bottom() { do_action( 'blog99_entry_bottom' ); } /** * Comments block hooks * * $blog99_supports[] = 'comments'; */ function blog99_comments_before() { do_action( 'blog99_comments_before' ); } function blog99_comments_after() { do_action( 'blog99_comments_after' ); } /** * Semantic hooks * * $blog99_supports[] = 'sidebar'; */ function blog99_sidebars_before() { do_action( 'blog99_sidebars_before' ); } function blog99_sidebars_after() { do_action( 'blog99_sidebars_after' ); } /** * Semantic