WordPress,作为全球最受欢迎的博客平台和内容管理系统,拥有海量的插件和主题。在这些插件和主题中,函数扮演着至关重要的角色。本文将为您详细介绍 WordPress 中一些常用的函数,帮助您更好地理解和运用这些函数,提高开发效率。
一、WordPress 函数概述
WordPress 函数是 PHP 代码的一部分,它们用于执行特定的任务,如获取文章信息、显示评论、生成导航菜单等。熟练掌握这些函数,可以帮助开发者快速搭建网站,实现各种功能。
二、WordPress 常用函数分类
WordPress 函数种类繁多,以下将按照功能分类,介绍一些常用的函数。
1. 获取文章信息
获取文章标题:
“`php
“`
获取
“`php
“`
获取文章
“`php
“`
获取文章ID:
“`php
“`
获取文章链接:
“`php
“`
2. 显示评论
显示文章评论列表:
“`php
“`
获取评论总数:
“`php
“`
显示评论列表:
“`php
“`
3. 生成导航菜单
生成主菜单:
“`php
‘primary’)); ?>
“`
生成侧边栏菜单:
“`php
‘sidebar’)); ?>
“`
4. 获取当前用户信息
获取用户ID:
“`php
“`
获取用户昵称:
“`php
display_name; ?>
“`
5. 获取文章分类信息
获取文章分类名称:
“`php
“`
获取文章分类ID:
“`php
“`
6. 获取文章标签信息
获取文章标签列表:
“`php
“`
获取文章标签ID:
“`php
“`
7. 获取文章元数据
获取文章作者:
“`php
“`
获取文章发布时间:
“`php
“`
获取文章修改时间:
“`php
“`
三、函数使用技巧
1. 函数参数:许多 WordPress 函数都接受参数,您可以根据需要传递参数以改变函数的默认行为。
2. 函数条件判断:在函数调用时,可以结合条件判断语句,实现更复杂的逻辑。
3. 函数缓存:在函数调用过程中,可以使用缓存技术,提高网站性能。
4. 函数扩展:WordPress 提供了丰富的函数扩展,您可以根据需求选择合适的扩展。
四、总结
WordPress 函数是开发者必备的技能之一。通过本文的介绍,相信您已经对 WordPress 常用函数有了更深入的了解。在实际开发过程中,多加练习,熟练掌握这些函数,将有助于您提高开发效率,打造出更优秀的 WordPress 网站。
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图片-wordpress如何在标题上面加图片
wordpress图片不保存到posts
WordPress是一个以博客为主的内容管理系统,用于创建网站和博客。在WordPress中添加和管理图片是非常重要的功能,因为图像可以使内容更具吸引力和易读性。
如果你正面临着WordPress图片不保存到Posts的问题,请尝试以下几个解决方法:
1.检查文件夹权限
WordPress将上传的图像保存在wp-content/uploads目录下。所以,首先需要检查wp-content/uploads文件夹是否具有写入权限。如果没有写入权限,则无法保存图像。你可以通过FTP或面板访问主机权限来检查文件夹权限并进行更改。
2.增加PHP内存限制
另一个常见的问题是上传图像时可能会超过PHP内存限制而无法保存。要解决这个问题,可以通过编辑文件来增加PHP内存限制。找到文件并将以下行添加到文件底部:
define(‘WP_MEMORY_LIMIT’,’256M’);
3.确认图像上传大小
默认情况下,WordPress对图像上传的大小有一定的限制。如果上传的图像大小超过限制,则无法保存。可以通过进入WordPress后台-设置-多媒体文件设置来更改上传图像大小的限制。
4.确认图像格式
WordPress仅支持特定类型的图像格式。确保你所上传的图像符合WordPress支持的格式。常见的支持格式包括:JPEG、PNG、GIF。
总之,以上是解决WordPress图片不保存到Posts的常用方法。如果问题仍然存在,请跟进错误信息并在WordPress官方论坛或社区中找到相关帮助。
wordpress如何在标题上面加图片
wordpress在标题上面加图片方法如下:
1、后台添加文本小工具:
登陆Wordpress后台,外观,小工具,把文本工具移动到右边的显示栏里面,直接拖拽即可,移动到想放的地方再松手
2、添加文件源:
这点就是让Wordpress的媒体库想要展示的图片,一般是在多媒体里面,然后添加媒体直接上传想要的图片,上传完以后,点击图片,获取图片在网站程序内的文件url,如下图所示:
3、设置文本工具展示图片:
这个时候,在文本小工具内编辑,标题可以写上展示的信息。
wordpress怎么设置缩略图片不压缩不拉伸
要使缩略图不压缩、不拉伸,大致有以下几步:
1、后台设置-多媒体里,将所有“缩略图大小”设置为空值
如果不想生成其他尺寸的图片,建议将“中等大小”、“大尺寸”都设置为空值
2、通过wp_get_additional_image_sizes()函数,可查看当前都有哪些图片尺寸设置
例如有以下值:
array(1)_
_[“post-thumbnail”]=>
___array(3)_
______[“width”]=>
______int(825)
______[“height”]=>
______int(510)
______[“crop”]=>
______bool(true)
___}
}
这表示我当前的wp有设置post-thumbnail这个图像尺寸。凡是宽大于825高大于510的图片,在上传时都会进行裁切的。如果不想用这个尺寸去裁切,可以unset这个
如:
global$_wp_additional_image_sizes;
if(_sset($_wp_additional_image_sizes[‘post-thumbnail’]))
__unset($_wp_additional_image_sizes[‘post-thumbnail’]);
3、wordpress默认上传的图片精度为82,可查看
/wp-includes/->中$default_quality的默认指定值
为改变这个值,可向wp_editor_set_quality这个hooks添加函数
如:
add_filter(‘wp_editor_set_quality’,’wpdit_set_quality’);
function_pdit_set_quality($quality){
__$quality=100;
__return$quality;
}
通过以上几步,足够解决你的问题。
如何在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。