wordpress有多少内置钩子
WordPress禁止,插件更新,主题更新,wordpress本身更新提示的方法禁止wp更新 : open file "wordpress\wp-includes\update.php".add_filter('pre_site_transient_update_core', create_function('$a', "return null;")); // 关闭核心提示add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示add_filter('pre_site_transient_update_themes', create_function('$a', "return null;")); // 关闭主题提示remove_action('admin_init', '_maybe_update_core'); // 禁止 WordPress 检查更新remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件remove_action('admin_init', '_maybe_update_themes'); // 禁止 WordPress 更新主题
如何开发一个WordPress插件
1. 在模板目录下的 function.php 里,插入以下代码,用于添加包含 页面 category_field.php。
// 分类添加字段 require_once( dirname(__FILE__).'/category_field.php' );2. 新建 category_field.php 页面,代码如下:// 分类添加字段 function ems_add_category_field(){ echo 'TelThe telephone.'; echo 'URLThe URL.'; } add_action('category_add_form_fields','ems_add_category_field',10,2);// 分类编辑字段 function ems_edit_category_field($tag){ echo 'Telecho get_option('cat-tel-'.$tag->term_id).'” size=”40″/>'.$tag->name.' on the phone.'; echo 'URLecho get_option('cat-url-'.$tag->term_id).'” size=”40″/>'.$tag->name.' on the URL.'; } add_action('category_edit_form_fields','ems_edit_category_field',10,2);// 保存数据 function ems_taxonomy_metadate($term_id){ if(isset($_POST['cat-tel']) && isset($_POST['cat-url'])){//判断权限–可改 if(!current_user_can('manage_categories')){ return $term_id; }// 电话$tel_key = 'cat-tel-'.$term_id; // key 选项名为 cat-tel-1 类型$tel_value = $_POST['cat-tel']; // value// url$url_key = 'cat-url-'.$term_id;$url_value = $_POST['cat-url'];// 更新选项值 update_option( $tel_key, $tel_value ); update_option( $url_key, $url_value ); } }// 虽然要两个钩子,但是我们可以两个钩子使用同一个函数 add_action('created_category','ems_taxonomy_metadate',10,1); add_action('edited_category','ems_taxonomy_metadate',10,1);?>3、调用方法(可以在wordpress文章模板(single.php)调用分类的META信息)。
// 取出当前分类 id: $categories[0]->term_id$categories = get_the_category();$term_id = $categories[0]->term_id;$cat_name = $categories[0]->name;?> “ target=“_blank”>4.以上是通过代码的方式给分类目录添加META属性字段信息。
wordpress主题里面single.php里面找不到代码如下: Div Soup Demonstration Posted on July 11th, 2009 Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo Tangential Information Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo 尽管这有些勉强,但上面这个实例还是可以说明使用HTML4对一个复杂的设计进行代码化后依然过于臃肿(其实xHTML1.1也不过如此)。
不过值得激动的是,HTML5解决“-soup” 综合症并带给我们一套新的结构化元素。
这些新的HTML5元素富有更细致的语义从而代替了那些毫无语义的标签,并同时为CSS的调用提供了”自然”的CSS钩子。
下面是 HTML5的解决方案实例: 代码如下: Div Soup Demonstration Posted on July 11th, 2009 Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo Tangential Information Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Lorem ipsum text blah blah blah. Tags: HMTL, code, demo 正如我们所见,HTML5可以让我们用很多更语义化的结构化代码标签代替那些大量的无意义的标签。
这种语义化的特性不仅提升了我们网页的质量和语义,并且大量减少了曾经代码中用于CSS必须调用的class和id属性。
事实上,CSS3也是可以然通过我们忽略掉所有class和id 的。
跟class属性说再见,欢迎整洁的标签 结合了富有新的语义化标记的HTML5,CSS3为web设计师们的网页提供了神一般的力量。
有了HTML5的能量,我们将得到更多的对文档代码的控制权,有了CSS3的能量,我们的控制权将趋于无穷大! 即使没有那些高级的CSS选择器,我们仍然可以通过强大的HTML5条调用不同的容器而不劳驾class和id这类属性。
像以往的DIV布局,我们在css中可能要这样调用: div#news {}代码如下:div.section {} div.article {} div.header {} div.content {} div.footer {} div.aside {}我们再来看看基于HTML5的实例: section {}复制代码代码如下:article {} header {} footer {} aside {}这是个进步,但仍有一些问题需要解决。
在实例中,我们需要通过class或id属性来调用页面中的元素。
这种逻辑将允许我们将样式应用到文档中的任何一个元素上,无论是整体还是个体。
例如在实例中,.section 和 .content元素很容易定位。
但是在HTML5实例中,实际文档中会有很多个section元素。
其实我们可以添加一些特定的属性选择器来调用那些不同的section元素,不过谢天谢地,我没现在可以用少量的高级CSS选择器来定位不同的section元素。
不使用class和id定位HTML-5元素 下面让我们来看看如何在不使用class和id的情况下定位HTML5页面元素的一个实例,我们可以使用三种CSS选择器来定位和辨别实例中的元素。
如下: 后代选择器:[CSS 2.1]: EF 兄弟选择器:[CSS 2.1]: E + F 子元素选择器:[CSS 2.1]: E > F 下面让我们来看看如何不使用class和id而完成对文档中的那些section元素的定位吧:定位最外层的元素 考虑到我们的例子并不是一套完整的HTML5代码,所以我们假定在元素下有个元素与元素是兄弟元素。
这样的话,我们就可以向下面代码那样定位最外层的了:代码如下:body nav+section {}定位下一个元素作为最外层元素下的唯一直属子集元素,这个元素也许可以这样定位:复制代码代码如下:section>section {}定位元素可以定位元素的方法有很多,不过最简单的方法当然就是后代选择器了:代码如下:section section article {}定位、 和元素这三个元素分别在两个地方都出现过,一是在元素中出现,另一是在元素中出现。
这种差别能让我们轻松定位每个元素。
代码如下:article header {} article section {} article footer {}或者一起定义:代码如下:section section header {} section section section {} section section footer {}到目前为止,我们已经使用CSS2.1选择器排除掉了所有的class和id。
那么我们为什么还需要使用CSS3 呢?我很高兴你能这么问…使用CSS3对HTML5元素进行高级定位 ...
转载请注明出处51数据库 » wordpress钩子
Mummmmmm