WordPress 常用的动作钩子

  • 时间:
  • 浏览:0
  • 来源:大发快3_快3教程_大发快3教程

  WordPress 有有些动作钩子,有有些是很常用的。

plugins_loaded

  对插件开发者来说,plugins_loaded 动作钩子你说歌词 是最重要的动作钩子了。它在大多数 WordPress 文件加载完成完后 ,并在pluggable 函数和 WordPress 开使英语 执行任何东西完后 触发。在大多数的插件中,在有些钩子触发完后 ,不应该执行有些的代码。plugins_loaded 在所有用户启用的插件都被 WordPress 加载完后 执行。这也是在加载过程中插件开发这最早能用到的钩子。

  WordPress 的插件应该在有些钩子中执行安装。有些动作也应该换成到有些钩子的回调函数中。

  下面的例子中,使用前面次要创建的 boj_example_footer_message 动作。要把它换成到钩到 plugins_loaded 钩子中的安装动作中,而全部都是单独调用它。

<?php

add_action( 'plugins_loaded', 'boj_footer_message_plugin_setup' );

function boj_footer_message_plugin_setup() {

/* 换成 footer 信息动作 */

add_action( 'wp_footer', 'boj_example_footer_message', 60 );

}

function boj_example_footer_message() {



echo '基于 <a href="http://wordpress.org" >WordPress </a>架设。';

}

?>

  创建有有另两个安装函数并把它钩到 plugins_loaded 中。另有有另两个做就时要确保前会就让特定的 WordPress 函数还越来越加载而触发错误。

init

  init 钩子在大多数的 WordPress 都建立完后 。WordPress 同样换成有些内部管理的功能到有些钩子中,之类 post types 和 taxonomies 的厨厕以及默认 widgets 的初始化。

  就让这时几乎 WordPress 中的所有内容都就绪了,当 WordPress 的所有信息都可用时,你的插件使用有些钩子差越来越来太满时要做任好久要的事情了。

  下面的例子中,为用户换成了给 pages 写摘要的功能。这应该在 init 中执行,就让 “page” post type 在这时使用 add_post_type_support() 函数来创建。( 详见 Part-11, “扩展 posts”)

<?php

add_action( 'init', 'boj_add_excerpts_to_pages' );

function boj_add_excerpts_to_pages() {



add_post_type_support( 'page', array( 'excerpt' ) );

}

?>

admin_menu

  admin_menu 钩子在管理员页面加载的完后 调用。无论好久你的插件直接在管理页面下工作,你全部都是用有些钩子来执行你的代码。

  下面的例子换成了有有另两个内容是 BOJ Settings 的 sub-menu 项到 WordPress 管理页面的设置菜单。(详见:Part-7,”插件设置”)

<?php

add_action( 'admin_menu', 'boj_admin_settings_page' );

function boj_admin_settings_page() {



add_options_page(

'BOJ Settings',

'BOJ Settings',

'manage_options',

'boj_admin_settings',

'boj_admin_settings_page'

);

}

?>

template_redirect

  template_redirect 动作钩子很有用,就让它是 WordPress 知道用户正在浏览的页面的关键。它在特定的页面选者 theme template 完后 执行。在只在网站的前端触发,前会在管理员页面触发。

  当你时要为特定的页面加载代码的完后 ,有些钩子很有用。

  下面的例子中,仅仅为 singular post 加载有有另两个样式表文件。

<?php

add_action( 'template_redirect', 'boj_singular_post_css' );

function boj_singular_post_css() {



if( is_singular( 'post' ) ) {

wp_enqueue_style (

'boj-singular-post',

'boj-example.css',

false,

0.1,

'screen'

);

}

}

?>

wp_head

  在网站的前端,WordPress 的模板调用 wp_head() 函数,会触发 wp_head 钩子。插件使用有些钩子在 <head> 和 </head> 标签之间换成 HTML。

  下面的例子中在前端换成有有另两个 meta description。

<?php

add_action( 'wp_head', 'boj_front_page_meta_description' );

function boj_front_page_meta_description() {



/* 得到站点描述 */

$description = esc_attr( get_bloginfo( 'description' ) );

/* 就让 description 设置了,显示 meta 元素 */

if ( !empty( $description ) )

echo '<meta name="description" content="'. $description. '"/>';

}

?>

  有些插件错误的使用了 wp_head 动作钩子来换成 JavaScript 代码,实际上应该使用 wp_enqueue_script() 函数的。( 详见:Part-12,”JavaScript 和 AJAX “)。唯一三种使用有些钩子来换成 JavaScript 的状况是当 JavaScript 代码越来越了有有另两个单独的文件中时。

Wordpress下载:

本文转自:http://www.hicoogle.com/wordpress-common-action-hook.html

Tags: wordpress 动作钩子   WordPress   wordpress教程  
责任编辑:cc120