wordpress工作常用函数
链接
get_term_link()
get_permalink()
get_category_link($term)
文章
获取当前文章
the_post()
获取文章标题
the_title()
//控制标题显示字数
mb_strimwidth()
mb_strimwidth()函数的参数如下:
//第一个参数是原始字符串(这里是文章标题)。
//第二个参数是截取开始的位置(这里是0,意味着从字符串开头开始)。
//第三个参数是截取的长度(这里是变量$title_length,即10个字符)。
//第四个参数是如果字符串被截断,添加到末尾的字符串(这里是省略号'...')。
//在中文站上,最好加上 utf-8 标记
//示例
<?php echo mb_strimwidth(get_the_title(), 0, 60, '[…]', 'utf-8'); ?>
获取当前文章摘要
the_excerpt();
判断是否有文章
have_posts()
获取发布日期
get_the_date('Y-m-d')
文章查询
WP_Query 类是 WordPress 文章查询的核心,它的文章查询部分提供了很多可用参数
$the_query = new Wp_Query(array(
'cat' => $cat, //
'orderby' => 'rand', //
'category_name' => $term_0,//分类目录,想要查询的分类名称 $term_0为变量
'posts_per_page' => 4 //查询条数
));
获取文章评论数
get_comments_number()
跳转后显示详情页信息显示
跳转后显示详情页需要有single.php文件
<p style="color: #fff;">
<?php the_post();the_author() ?>
<span style="margin-left:100px">
<?php the_date('Y-m-d') ?>
</span>
</p>
显示作者等页面消息需要加上the_post()
获取定位到当前文章?加上the_post()后正常显示作者等信息
模版
获取模版路径
bloginfo('template_url')
页面
获取版本信息
get_bloginfo('version')
home_url()
分类
get_terms()
查询
get_query_var()
用法:
<?php get_query_var( $var ) ?>
可选参数:
’error’
’m’
‘p’
’post_parent’
’subpost’
’subpost_id’
’attachment’
’attachment_id’
’name’
’static’
’pagename’
’page_id’
’second’
’minute’
’hour’
’day’
’monthnum’
’year’
’w’
’category_name’
’tag’
’cat’
’tag_id’
’feed’
’tb’
’paged’
’comments_popup’
’meta_key’
’meta_value’
’preview’
’s’
’sentence’
’fields’
WP_Query 类是 WordPress 的查询系统的一部分,用于生成并执行 SQL 查询,以便从数据库中检索内容。通过使用 WP_Query,你可以创建复杂的查询来获取特定的帖子、页面或自定义文章类型。
使用方法
创建一个 WP_Query 对象,并传递一个参数数组,指定查询条件。例如:
$args = array(
'post_type' => 'post',
'posts_per_page' => 10,
'category_name' => 'news'
);
$query = new WP_Query($args);
常用参数
WP_Query
支持多种参数,可以组合使用以实现复杂查询。以下是一些常用的参数:
post_type: 指定文章类型,如 ‘post’、‘page’ 或自定义文章类型。
posts_per_page: 每页显示的文章数量。
paged: 指定分页的页码。
category_name: 根据分类别名获取文章。
tag: 根据标签获取文章。
author: 根据作者 ID 获取文章。
orderby: 指定排序字段,如 ‘date’、‘title’、‘rand’ 等。
order: 指定排序顺序,‘ASC’(升序)或 ‘DESC’(降序)。
meta_query: 自定义字段查询。
date_query: 日期查询。
tax_query: 分类法查询。
示例代码
示例 1: 获取最新的 5 篇文章
$args = array(
'post_type' => 'post',
'posts_per_page' => 5
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
the_title();
the_excerpt();
}
wp_reset_postdata();
}
示例 2: 获取特定分类的文章
$args = array(
'category_name' => 'news',
'posts_per_page' => 10
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
the_title();
the_content();
}
wp_reset_postdata();
}
示例 3: 根据自定义字段查询文章
$args = array(
'post_type' => 'post',
'meta_query' => array(
array(
'key' => 'custom_field_name',
'value' => 'custom_value',
'compare' => '='
)
)
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
the_title();
the_content();
}
wp_reset_postdata();
}
原文链接:https://blog.csdn.net/weixin_36755535/article/details/139417119
全局变量
全局变量使用方法
访问 WordPress 中的全局变量
如果你想在你的代码中访问一个全局变量,首先做的事是把这个变量用global声明下: global $variable;
此外 WordPress 的每个全局变量也都可以通过对应的函数来获取,WordPress 官方推荐的方式是用过函数的方式来获取这些全局变量。
global $wp_version; //方法1 提前用global声明
//或者
$wp_version = get_bloginfo('version'); //方法2 使用对应函数获取
echo $wp_version;
注意 get_query_var() 只取回 WP_Query 可识别的公共查询参数,也就是说如果你添加了自定义查询参数,直接通过 get_query_var() 函数是获取不了的。要想获取自定义查询参数的值,我们需要通过使用’query_var’ 过滤器添加自定义查询参数
获取 WordPress 中的全局变量
除了 WordPress 内核注册的全局变量,一些主题和插件也有可能会注册一些全局变量,如果需要查看系统中已经注册的所有全局变量,可以通过下面的代码查看。
echo "<pre class="prettyprint">";
print_r($GLOBALS);
echo "</wan>"; //具体使用时请将 wan 改为 pre
数据库全局变量$wpdb
在 WordPress 的主题或插件文件中使用 wpdb 函数,直接声明该全局变量即可使用,但在根目录或非 WordPress 环境下调用 WordPress 的核心数据库操作功能,需要调用 WordPress 的根目录的 wp-blog-header.php 配置文件:
//根据具体需要设定调用目录
require_once(‘./wp-blog-header.php’);
//声明全局变量$wpdb
global $wpdb;
// wpdb 插入数据
$wpdb->insert( $wpdb->prefix . 'fanly', array( 'name' => 'Fanly', 'url' => 'wangejiba.com' ) );
// wpdb 删除数据
$wpdb->query( "DELETE FROM " . $wpdb->prefix . "fanly WHERE 'url' = 'wangejiba.com'" );
// wpdb 修改数据
$wpdb->update( $wpdb->prefix . 'fanly', array( 'name' => 'Fanly', 'url' => 'wangejiba.com' ), array( 'name' => '玩个机吧' ) );
//wpdb 获取数据
$data = $wpdb->get_row( "SELECT * FROM ".$wpdb->prefix."fanly WHERE 'url'='wangejiba.com'" );
echo $data->name;
WordPress主要全局变量
在循环中可以使用的全局变量
在 WordPress 循环中,全局变量已经被提前获取到了,我们可以直接使用。这些全局变量包含了循环中当前文章的信息。
$post (WP_Post) //当前文章对象
$authordata (WP_User) //当前文章作者对象
$currentday (string) //当前文章的发布日期
$currentmonth (string) //当前文章的发布月份
$page (int) //当前文章被访问的分页,通过查询参数 page 定义
$paged //当前的分页数值,主页,博客页面,存档页面和页面以计算分页,第一页是0
$pages (array) //当前文章的分页信息,每个分页元素包含了 --nextpage--标签分隔的部分
$multipage (boolean) //当前文章是否为多页文章,根据上面的 $pages 参数检测
$more (boolean) WordPress //是否执行 --more-- 标签的标记,如果为 true,WordPress 将不会执行 more 标签
$numpages (int) //返回当前文章的总页数,和上面的 $pages x相关
检测浏览器的布尔值
下面的全局变量存储着关于用户浏览器的检测信息,值为布尔值,可以用来用户用来访问网站的浏览器。
$is_iphone (boolean) //iPhone Safari
$is_chrome (boolean) //Google Chrome
$is_safari (boolean) //Safari
$is_NS4 (boolean) //Netscape 4
$is_opera (boolean) //Opera
$is_macIE (boolean) //Mac Internet Explorer
$is_winIE (boolean) //Windows Internet Explorer
$is_gecko (boolean) //FireFox
$is_lynx (boolean)
$is_IE (boolean) //Internet Explorer
$is_edge (boolean) //Microsoft Edge
检测网站服务器的布尔值
下面的全局变量存储着关于网站服务器的一些信息,可以用来判断运行网站的服务器类型。
$is_apache (boolean) //Apache HTTP Server
$is_IIS (boolean) //Microsoft Internet Information Services (IIS)
$is_iis7 (boolean) //Microsoft Internet Information Services (IIS) v7.x
$is_nginx (boolean) //Nginx web server
版本变量
下面的变量存储着 WordPress 中的一些版本信息。
$wp_version (string) //当前安装的 WordPress 版本
$wp_db_version (int) //当前数据库的版本
$tinymce_version (string) //TinyMCE 的版本
$manifest_version (string) //缓存 manifest 的版本
$required_php_version (string) //网站安装的 WordPress 版本需要的最小 PHP 版本
$required_mysql_version (string) //网站安装的 WordPress 需要的最小 MySQL 版本
其他全局变量
$super_admins (array) //拥有超级管理员权限的用户 ID, 此全局变量只对站点所有者注册
$wp_query (object) //Class_Reference/WP_Query 类实例
$wp_rewrite (object) //Class_Reference/WP_Rewrite 类实例
$wp (object) //Class_Reference/WP 类实例
$wpdb (object) //Class_Reference/wpdb 类实例
$wp_locale (object) //本地化信息
$wp_admin_bar (WP_Admin_Bar) //管理工具条对象
$wp_roles (WP_Roles) //WordPress 角色对象
$wp_meta_boxes (array) //已注册 metaboxes 的对象, 包含他们的 id, 参数, 回调函数、标题等信息
$wp_registered_sidebars (array) //已注册的小工具区域
$wp_registered_widgets (array) //已注册的小工具
$wp_registered_widget_controls (array) //已注册的小工具字段
$wp_registered_widget_updates (array) //已注册的小工具更新
后台全局变量
$pagenow (string) //在 wp-admin 中使用,同时参考 get_current_screen() 以了解 WordPress Admin Screen API
$post_type (string) //在 wp-admin 中使用,当前页面的文章类型
$allowedposttags (array) //允许使用的文章标签
$allowedtags (array) //允许使用的标签
$menu (array) //WordPress 的后台菜单数据
相关资料:
[1]$paged and $page 的区别
[2]自定义帖子上的WordPress分页
[3]wordpress主题如何自定义公用全局函数变量入门