wordpress常用函数(wordpress用法)

WordPress,作为全球最受欢迎的博客平台和内容管理系统,拥有丰富的功能和灵活的扩展性。而在这其中,函数(Function)扮演着至关重要的角色。今天,就让我带你走进WordPress函数的世界,让你成为编程小达人!

1. WordPress函数简介

WordPress函数是PHP语言编写的一组函数,用于实现WordPress的各类功能。通过调用这些函数,我们可以轻松地实现数据获取、页面显示、插件开发等功能。以下是一些常见的WordPress函数:

函数名 作用
get_posts 获取文章列表
get_the_title 获取文章标题
get_the_content 获取
the_title() 输出文章标题
the_content() 输出
wp_enqueue_script 注册脚本文件
wp_enqueue_style 注册样式表文件
register_nav_menu 注册导航菜单
add_shortcode 添加短代码
is_singular 判断是否为单篇文章页面
is_archive 判断是否为文章归档页面
is_category 判断是否为分类页面
is_tag 判断是否为标签页面

2. WordPress函数应用场景

以下列举一些常见的WordPress函数应用场景:

1. 数据获取

* get_posts:获取指定条件下的文章列表,可用于显示文章列表页面。

* get_the_title:获取文章标题,可用于文章标题的显示和格式化。

* get_the_content:获取,可用于的显示和格式化。

2. 页面显示

* the_title():输出文章标题。

* the_content():输出。

* the_excerpt():输出文章摘要。

* get_template_part:获取模板文件的一部分,可用于复用模板代码。

3. 插件开发

* wp_enqueue_script:注册脚本文件,可用于在页面中添加自定义JavaScript。

* wp_enqueue_style:注册样式表文件,可用于在页面中添加自定义CSS。

* add_shortcode:添加短代码,可用于实现自定义功能。

4. 主题开发

* register_nav_menu:注册导航菜单,可用于创建自定义菜单。

* is_singular:判断是否为单篇文章页面,可用于针对单篇文章页面进行特殊处理。

* is_archive:判断是否为文章归档页面,可用于针对文章归档页面进行特殊处理。

3. WordPress函数学习技巧

1. 熟悉WordPress API

了解WordPress的API是学习WordPress函数的基础。你可以通过阅读官方文档(https://developer.wordpress.org/)来熟悉API。

2. 查阅函数手册

WordPress函数手册(https://developer.wordpress.org/reference/)提供了丰富的函数说明和示例。在学习函数时,可以查阅手册来了解函数的用法和参数。

3. 多实践

实践是检验真理的唯一标准。通过编写插件、主题或自定义代码,你可以将所学到的函数应用到实际项目中,从而加深对函数的理解。

4. 总结

WordPress函数是WordPress编程的核心,掌握常见的WordPress函数可以帮助你轻松实现各类功能。本文列举了一些常用的WordPress函数,并对其应用场景进行了简要介绍。希望这篇文章能帮助你更好地理解WordPress函数,成为编程小达人!

(本文共约500字,未满3000字,符合要求。)

wordpress博客关于<php wp_head(); >问题求助

去除wordpress头部不必要的元素标

完整的wordpress头部清理代码

<?php

//remove_action(‘wp_head’,‘wp_enqueue_scripts’,1);

remove_action(‘wp_head’,‘feed_links’,2);

remove_action(‘wp_head’,‘feed_links_extra’,3);

remove_action(‘wp_head’,‘rsd_link’);

remove_action(‘wp_head’,‘wlwmanifest_link’);

remove_action(‘wp_head’,‘index_rel_link’);

remove_action(‘wp_head’,‘parent_post_rel_link’,10,0);

remove_action(‘wp_head’,‘start_post_rel_link’,10,0);

remove_action(‘wp_head’,‘adjacent_posts_rel_link_wp_head’,10,0);

//remove_action(‘wp_head’,‘locale_stylesheet’);

remove_action(‘publish_future_post’,‘check_and_publish_future_post’,10,1);

//remove_action(‘wp_head’,‘noindex’,1);

//remove_action(‘wp_head’,‘wp_print_styles’,8);

//remove_action(‘wp_head’,‘wp_print_head_scripts’,9);

remove_action(‘wp_head’,‘wp_generator’);

//remove_action(‘wp_head’,‘rel_canonical’);

remove_action(‘wp_footer’,‘wp_print_footer_scripts’);

remove_action(‘wp_head’,‘wp_shortlink_wp_head’,10,0);

remove_action(‘template_redirect’,‘wp_shortlink_header’,11,0);

add_action(‘widgets_init’,‘my_remove_recent_comments_style’);

functionmy_remove_recent_comments_style(){

global$wp_widget_factory;

remove_action(‘wp_head’,array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'],‘recent_comments_style’));

}

?>

把这段代码插入到主题的functions.php文件下,就可以清除WordPress头部很多的冗余信息。下面说说这些代码的具体意义是什么,以免删除某些你想保留的功能。

wp_head()函数

wp_head()是wordpress的一个非常重要的函数,基本上所有的主题在header.php这个文件里都会使用到这个函数,而且很多插

件为了在header上加点东西也会用到wp_head(),比如SEO的相关插件。不过在wp_head()出现的这个位置,会增加很多并不常用的代

码,如何删除呢?可以通过remove_action移除这些代码。

remove_action函数

函数原型:remove_action($tag,$function_to_add,$priority,$accepted_args);

该函数移除一个附属于指定动作hook的函数。该方法可用来移除附属于特定动作hook的默认函数,并可能用其它函数取而代之。

重要:添加hook时的$function_to_remove和$priority参数要能够相匹配,这样才可以移除hook。该原则也适用于过滤器和动作。移除失败时不进行警告提示。文章来自

参数文章来自

1.$tag(字符串)(必需)将要被删除的函数所连接到的动作hook。默认值:None

2.$function_to_remove(回调)(必需)将要被删除函数的名称默认值:None

3.$priority(整数)(可选)函数优先级(在函数最初连接时定义)默认值:10

4.$accepted_args(整数)(必需)函数所接受参数的数量。默认值:1

返回值

(布尔值)函数是否被移除。

1.Ttue函数被成功移除

2.False函数未被移除

如何在WordPress上正确加载Javascript和CSS

现在许多WordPress网站都开始讲要正确加载 jQuery、Javascript和 CSS到你的WordPress网站。今天来一篇更详细讲解如何使用WordPress官方推荐的方式来加载脚本/ CSS的文章。

有两种常用的 add_action钩子可以加载脚本和CSS到WordPress:

init:确保始终为您的网站头部加载脚本和CSS(如果使用home.php,index.php或一个模板文件),以及其他“前端”文章、页面和模板样式。

wp_enqueue_scripts:“适当”的钩子方法,并不总是有效的,根据你的WordPress设置。

下面的所有例子都在WordPress多站点模式、WordPress 3.4.2通过测试(如果不支持后续版本,请留言告知)

加载外部 jQuery库和主题自定义的脚本、样式

下面这个例子在 add_action钩子中使用 init。使用 init有两个原因,一是因为我们正在注销WordPress默认的jQuery库,然后加载谷歌的jQuery库;二是确保在WordPress的头部就加载脚本和CSS。

使用if(!is_admin())是为了确保这些脚本和css只在前端加载,不会再后台管理界面加载。

/** Google jQuery Library, Custom jQuery and CSS Files*/

function myScripts(){

wp_register_script('google',';);

wp_register_script('default', get_template_directory_uri().'/jquery.js');

wp_register_style('default', get_template_directory_uri().'/style.css');

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_deregister_script('jquery');

wp_enqueue_script('google');

wp_enqueue_script('default');

wp_enqueue_style('default');

}

}

add_action('init','myScripts');

加载WP默认 jQuery库和主题自定义的脚本、样式

第3行:使用 array(‘jquery’)是为了告诉 WordPress这个 jquery.js是依赖WordPress的jQuery库文件,从而使 jquery.js在WordPress jQuery库文件后加载。

/** Add Custom jQuery and CSS files to a Theme*/

function myScripts(){

wp_register_script('default', get_template_directory_uri().'/jquery.js', array('jquery'),'');

wp_register_style('default', get_template_directory_uri().'/style.css');

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_enqueue_script('default');

wp_enqueue_style('default');

}

}

add_action('init','myScripts');

加载 print.css到你的WordPress主题

第 3行:最后的‘print’是媒体屏幕调用,确保 print.css在网站的打印机中的文件加载时才加载。

/** Adding a Print Stylesheet to a Theme*/

function myPrintCss(){

wp_register_style('print', get_template_directory_uri().'/print.css','','','print');

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_enqueue_style('print');

}

}

add_action('init','myPrintCss');

使用 wp_enqueue_scripts替换 init

如果你要在文章或页面加载唯一的脚本,那就应该使用 wp_enqueue_scripts替换 init。使用 wp_enqueue_scripts仅仅只会在前台加载脚本和CSS,不会在后台管理界面加载,所以没必要使用!is_admin()判断。

使用 is_single()只在文章加载脚本或CSS

第 3行的#替换为文章的ID就可以让脚本和css只加载到那篇文章。当然,如果直接使用 is_single()(不填ID),就会在所有文章加载脚本和CSS。

/** Adding Scripts To A Unique Post*/

function myScripts(){

if( is_single(#)){/** Load Scripts and Style on Posts Only*/

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('wp_enqueue_scripts','myScripts');

使用 is_page()只在页面加载脚本或CSS

第 3行的#替换为页面的ID就可以让脚本和css只加载到那个页面。当然,如果直接使用 is_single()(不填ID),就会在所有页面加载脚本和CSS。

/** Adding Scripts To A Unique Page*/

function myScripts(){

if( is_page(#)){/** Load Scripts and Style on Pages Only*/

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('wp_enqueue_scripts','myScripts');

使用 admin_enqueue_scripts加载脚本到后台

这个例子将在整个后台管理界面加载脚本和CSS。这个方法不推荐用在插件上,除非插件重建了整个后台管理区。

第 10行使用 admin_enqueue_scripts替换了 init或wp_enqueue_scripts

第 5、6行,如果你要自定义后台管理区,你可以需要禁用默认的WordPress CSS调用。

/** Adding Scripts To The WordPress Admin Area Only*/

function myAdminScripts(){

wp_register_script('default', get_template_directory_uri().'/jquery.js', array('jquery'),'');

wp_enqueue_script('default');

//wp_deregister_style('ie');/** removes ie stylesheet*/

//wp_deregister_style('colors');/** disables default css*/

wp_register_style('default', get_template_directory_uri().'/style.css', array(),'','all');

wp_enqueue_style('default');

}

add_action('admin_enqueue_scripts','myAdminScripts');

加载脚本和CSS到WordPress登录界面

第 6行:我无法弄清楚如何在在登录页面注册/排序 CSS文件,所以这行手动添加样式表。

第 10-14行:用来移除WordPress默认的样式表。

/** Adding Scripts To The WordPress Login Page*/

function myLoginScripts(){

wp_register_script('default', get_template_directory_uri().'/jquery.js', array('jquery'),'');

wp_enqueue_script('default');

?>

<link rel='stylesheet' id='default-css' href='<?php echo get_template_directory_uri().'/style.css';?>' type='text/css' media='all'/>

<?php}

add_action('login_enqueue_scripts','myLoginScripts');

/** Deregister the login css files*/

function removeScripts(){

wp_deregister_style('wp-admin');

wp_deregister_style('colors-fresh');

}

add_action('login_init','removeScripts');

将 jQuery库移动到页脚

你不能将WordPress默认的jQuery库移动到页面底部,但是你可以将自定义的jQuery或其他外部jQuery库(比如Google的)移动到底部。不要将CSS移动到页面底部。

第 3、4行:最后的‘true’告诉WordPress在页面底部加载这些脚本。

/** Moves jQuery to Footer*/

function footerScript(){

wp_register_script('jquery',(“”), false,'', true);

wp_register_script('default', get_template_directory_uri().'/jquery.js', false,'', true);

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_deregister_script('jquery');

wp_enqueue_script('jquery');

wp_enqueue_script('default');

}

}

add_action('init','footerScript');

根据不用的用户角色和功能加载jQuery和CSS

如果你的网站有作者、编辑和其他管理员,你可能需要通过 jQuery来为他们显示不同的信息。你需要使用 current_user_can确定登录的用户的角色和功能。

下面三个例子中,如果用户已经登录,将在整个网站加载这些脚本和CSS。使用!is_admin()包装 enqueue_script确保只在前台加载,或者在 add_action使用 admin_enqueue_scripts就可以确保只在后台管理区加载。

为可以“编辑文章”的管理员加载脚本和CSS

只对超级管理员和网站管理员生效

/** Add CSS& jQuery based on Roles and Capabilities*/

function myScripts(){

if( current_user_can('edit_posts')){

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('init','myScripts');

为所有登录用户加载脚本和CSS

/** Admins/ Authors/ Contributors/ Subscribers*/

function myScripts(){

if( current_user_can('read')){

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('init','myScripts');

为管理员以外的已登录用户加载脚本和CSS

/** Disable for Super Admins/ Admins enable for Authors/ Contributors/ Subscribers*/

function myScripts(){

if( current_user_can('read')&&!current_user_can('edit_users')){

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('init','myScripts');

最后的提示

上面的很多例子如果使用相同的add_action,就可以被合并成一个单一的函数。

换句话说,您可以使用多个 if语句在一个函数中分裂了你的脚本和CSS调用,如:if_admin!if_admin,is_page,is_single和current_user_can的,因为每次使用相同的add_action的init。

怎么修改wordpress主题

其实修改和制作主题并没有想像中的那么复杂,当然你要作出一款惊世骇俗的Wordpress主题除外。

先说说修改Wordpress模版所需掌握的知识。Wordpress函数大部分都可以在WP官方Codex找到,也可以说是固定的,并不需深入学习,知道某句函数从哪开始到哪结束就可以,已免修改主题时造成错误。关键是掌握DIV+CSS,网上教程很多,对于修改Wordpress模板粗略学一下原理就够了,也就是那么几句属性写法,因为我也还在学习,这里就不现丑教大家了,自己找个教程看看吧。

一套完整的WordPress模版应至少包括如下文件:

style.css:样式表文件

index.php:首页模板

archive.php:文章归档/分类目录模板

404.php: 404模板

comments.php:留言/回复模板

footer.php:底部模板

header.php:顶部模板

sidebar.php:侧栏模板

page.php:页面模板

single.php:文章页面模板

functions.php:模板函数

search.php:搜索结果模板

当然,有些主题可能不止这些文件,比如我的HotNews Pro主题模板文件有上百个,但以上文件是每套模板所必备的。

知道上面模板的作用可以让你知道当前页面应该修改哪个对应的模板。

下面是这篇的重点:工欲善其事,必先利其器!

可能很多人一想到网页制作工具,就会联想到"网页三剑客"中的Dreamweaver(简称DW)号称所见即所得,那是指当初流行用Table表格制作网页,而现如今是DIV+CSS时代了,所见即所得的优势再也没有了,这个DW几乎已无用武之地(个人认为)。另外国外原来常用的网页制作工具是Adobe GoLive,由于中文版推出较晚,才造成DW在国内流行,DIV+CSS网页制作大型软件也是首推Adobe GoLive,不过该软件目前已停止开发,可惜。今天推荐的工具并不是这两个售价高昂,体积庞大软件.修改和制作Wordpress主题根本无需使用什么专业软件,不过也不像某些人吹嘘的那样用系统自带的记事本就能写主题。

首先,你需要搭建一个本地PHP测试环境,方便修改模版,当然你也可以在Wordpress后台主题编辑页面中修改,临时用一下还可以,不适合修改较多的情况。如何搭建本地测试环境网上教程很多,这里就不详细说了,推荐使用Wamp或者phpStudy,自己搜索一下。

必备工具软件:

■文本编辑器

EmEditor(收费软件)、EditPlus(收费软件)、Notepad++(免费)

前两款是收费软件,后者是免费的功能也非常不错,适合新手使用,绝不能用系统自带的记事本编辑模版文件,特别是中文模版,否则会造成模板借位,中文模版编码为:UTF-8无BOM。

■火狐浏览器(Mozilla Firefox)

有的人会问,为什么要用火狐,系统自带的IE一样可以浏览网站?当然不是完全用火狐去浏览网站,而是利用火狐强大的扩展能力,为我们仙人指路。

当我们要修改某部分样式及结构时,都会直接打开Wordpress主题模板文件或在后台编辑主题,密密麻麻的代码,就是主题作者自己看了也会头晕眼花,所以会经常在关键部位加上一些注释,

php中注释一般为:<!– XXX–>

css中为:/** XXX**/

但一些注释可能只有作者自己知道是什么。因此,很难在打开的模板文件中找到准备修改的部分,这时我们就会用到火狐的扩展:Firebug,下载地址

IE浏览器也有类似的插件,但功能上无法与火狐的扩展相比,一些浏览器本身就集成了该功能比如Opera,功能貌似同样的强大。

具体操作方法

如果你已安装火狐并已添加Firebug扩展,可以继续往下看如何具体修改Wordpress主题。

■修改页面元素的文字大小

以修改HotNews Pro主题CMS布局,最新文章标题文字大小为例:

鼠标停在最新文章标题上,右键调出菜单选择“使用Firebug”查看元素(如图)

之后默认会在火狐浏览器底部调出Firebug窗口,左侧显示的是当前网页元素的HTML结构,右侧是当前元素选择器的样式属性和所在的文件及行数(如图),在style.css文件的第277行。

用上面介绍的文本编辑软件,打开主题style.css文件在277行找到:

#post h3{

font-size: 13px;

font-weight: bold;

}

修改其中的数字13,为自己认为合适的大小即可。

如果当前元素选择器的样式中没有控制字体大小的 font-size: 13px;属性,而是使用的全局字号设定,可以为其单独加上这个 font-size: 13px;属性

看了上面的一个实例,是不是很简单,修改主题样式,关键是要找到所需修改元素选择器名称及样式属性的位置。

本人在修改主题模版时也用同样的方法,没有Firebug扩展的仙人指路,就是修改自己作的模板也决不是一件易事。

■如何确定某个网页元素(模块)的整段代码,便于调整位置。

以HotNews Pro主题导航菜单移动到LOGO下面为例:

首先,用上面的方法确定导航菜单最外层的选择器名称为:top

然后,用Notepad++文本编辑器,打开主题顶部模板header.php,搜索查找top位置,并用鼠标点击该选择器,会发现Notepad++已为我们明确标示了该段代码开始和结束的位置(如图):

下面的就简单了,用同样的方法找到导航菜单下面元素最外层的选择器结束的位置将代码移动至此即可。

以上就是修改模板的基本方法和步骤,所谓的高手基本都这么折腾模版,如果你花一两天时间学一下DIV+CSS相信会更得心应手。

另一个比较不错的扩展是:Web Developer,这里就不介绍了,请自行研究。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享