Wordpress 常用标签笔记

1,菜单函数 wp_nav_menu()

wp_nav_menu( array(  
    'theme_location'    => '', //[保留]用于在调用导航菜单时指定注册过的某一个导航菜单名,如果没有指定,则显示第一个  
    'menu'              => 'top_main1', //[可删]使用导航菜单的名称调用菜单,可以是 id, slug, name (按顺序匹配的) 。  
    'container'         => false, //[可删]最外层容器标签名  
    'container_class'   => '',//[可删]最外层容器class名  
    'container_id'      => '',//[可删]最外层容器id值  
    'menu_class'        => 'menu', //[可删]ul 节点的 class 属性值  
    'menu_id'           => '', //[可删]ul 节点的 id 属性值  
    'echo'              => true, //[可删]确定直接显示导航菜单还是返回 HTML 片段,如果想将导航的代码作为赋值使用,可设置为false  
    'fallback_cb'       => 'wp_page_menu', //[可删]备用的导航菜单函数,用于没有在后台设置导航时调用  
    'before'            => '', //[可删]显示在导航a标签之前  
    'after'             => '', //[可删]显示在导航a标签之后    
    'link_before'       => '', //[可删]显示在导航链接名之前  
    'link_after'        => '', //[可删]显示在导航链接名之后  
    'items_wrap'        => '
%3$s
',  //[可删]使用字符串替换修改ul的class  
    'depth'             => 0, //[可删]显示菜单的深度, 当数值为0时显示所有深度的菜单,-1所有菜单平级显示  
    'walker'            => '' //[可删]自定义的遍历对象,调用一个对象定义显示导航菜单      
));


或者替换子菜单类名:

$nav_str = wp_nav_menu( array(  
    'theme_location'    => '', //[保留]用于在调用导航菜单时指定注册过的某一个导航菜单名,如果没有指定,则显示第一个  
    'menu'              => 'top_main1', //[可删]使用导航菜单的名称调用菜单,可以是 id, slug, name (按顺序匹配的) 。  
    'container'         => false, //[可删]最外层容器标签名  
    'container_class'   => '',//[可删]最外层容器class名  
    'container_id'      => '',//[可删]最外层容器id值  
    'menu_class'        => 'nav-list', //[可删]ul 节点的 class 属性值  
    'menu_id'           => '', //[可删]ul 节点的 id 属性值  
    'echo'              => false, //[可删]确定直接显示导航菜单还是返回 HTML 片段,如果想将导航的代码作为赋值使用,可设置为false  
    'fallback_cb'       => 'wp_page_menu', //[可删]备用的导航菜单函数,用于没有在后台设置导航时调用  
    'before'            => '', //[可删]显示在导航a标签之前  
    'after'             => '', //[可删]显示在导航a标签之后    
    'link_before'       => '', //[可删]显示在导航链接名之前  
    'link_after'        => '', //[可删]显示在导航链接名之后  
    'items_wrap'        => '
%3$s
',  //[可删]使用字符串替换修改ul的class  
    'depth'             => 0, //[可删]显示菜单的深度, 当数值为0时显示所有深度的菜单,-1所有菜单平级显示  
    'walker'            => '' //[可删]自定义的遍历对象,调用一个对象定义显示导航菜单      
));

echo str_replace('sub-menu', 'select', $nav_str);




2,分页函数 the_posts_pagination()

the_posts_pagination(array(
    'mid_size' => 3, 
    'prev_text' => '<', 
    'next_text' => '>',
    'screen_reader_text' => ' ' //这里一定要设置为空格,不然会有h2的内容显示 
));


3, bloginfo 博客信息函数

'name' - 显示在 设置 > 常规 中设置的“站点标题”。
'description' - 显示在 设置 > 常规 中设置的“副标题”。
'wpurl' - 显示在 设置 > 常规 中设置的 “WordPress 地址 (URL)”。可以考虑使用 site_url() 来代替
'siteurl' / 'url' - 显示在 设置 > 常规 中设置的 “站点地址(URL)”)”。该数据是从 可以考虑使用 home_url() 代替
'admin_email' - 显示在 设置 > 常规 中设置的 “电子邮件地址”。
'stylesheet_url' - 显示当前使用的主题的 CSS文件(通常为 style.css)路径。可以考虑使用 get_stylesheet_uri() 代替。
'stylesheet_directory' - 显示当前使用的主题的样式表路径。可以考虑使用 get_stylesheet_directory_uri() 代替。
'template_url' / 'template_directory' - 当前主题的 URL 路径


4,常用模版文件

index.php 主模板文件。 所有主题都是必需的。
style.css 主要样式表。 它在所有主题中都是必需的,并且包含主题的信息标题。
rtl.css 如果网站语言的文本方向是从右到左,则自动包含从右到左的样式表。
comments.php 评论模板。
front-page.php 首页模板始终用作站点首页(如果存在),无论管理员>设置>阅读上的设置如何。
home.php 默认情况下,主页模板是首页模板。 如果您没有将WordPress设置为使用静态首页,则此模板用于显示最新的帖子。
header.php 标题模板文件通常包含您的站点的文档类型,元信息,样式表和脚本的链接以及其他数据。
singular.php 单独的模板用于没有找到single.php的帖子,或者当没有找到page.php的页面时。 如果没有找到singular.php,则使用index.php。
single.php 当访问者请求单个帖子时,使用单个帖子模板。
single-{post-type}.php 访问者从自定义帖子类型请求单个帖子时使用的单个帖子模板。 例如,single-book.php将用于从定制的帖子类型命名的书中显示单个帖子。 如果不存在自定义帖子类型的特定查询模板,则使用index.php。
archive-{post-type}.php 当访问者请求自定义帖子类型归档时,将使用归档文件类型模板。 例如,archive-books.php将用于显示自定义帖子类型命名书籍的帖子存档。 如果archive-{post-type} .php不存在,则使用archive.php模板文件。
page.php 当访问者请求单独的页面(内置模板)时,将使用页面模板。
page-{slug}.php 访问者请求特定页面时使用页面插件模板,例如使用“about”slug(page-about.php)的页面插件模板。
category.php 当访问者按类别请求帖子时,将使用类别模板。
tag.php 当访问者通过标签请求帖子时,使用标记模板。
taxonomy.php 当访问者在自定义分类法中请求术语时,将使用分类术语模板。
author.php 访问者加载作者页面时,将使用作者页面模板。
archive.php 当访问者按类别,作者或日期请求帖子时,使用归档模板。 注意:如果存在类似于category.php,author.php和date.php的更多特定模板,则此模板将被覆盖。
search.php 搜索结果模板用于显示访问者的搜索结果。
attachment.php 当查看单个附件(如图像,pdf或其他媒体文件)时,将使用附件模板。
image.php 图像附件模板是attachment.php的更具体的版本,在查看单个图像附件时使用。 如果不存在,WordPress将使用attachment.php。
404.php 当WordPress找不到与访问者请求相匹配的帖子,页面或其他内容时,将使用404模板。


5,搜索表单函数 get_search_form($echo)

参数 $echo : (布尔值) (可选) 如果是 true 则输出表单; false 则返回表单的字符串。如果你的主题没有 searchform.php, WordPress 将使用其内置的搜索表单。


6,获取指定分类的文章列表

   
   

   


7,获取标签列表函数

get_tags(array( 'orderby' => '', 'order' => 'ASC' ))

文档 https://developer.wordpress.org/reference/functions/get_tags/


8,禁止 Wordpress 自动保存草稿

在 wp-config.php 中加入如下代码,要加载文件最前面。

define('AUTOSAVE_INTERVAL', 864000); // 设置自动保存草稿时间是10天
define('WP_POST_REVISIONS', false); // WordPress禁用文章修订


9,breadcrumb 面包屑导航,放到模版的 function.php 文件中

function get_breadcrumbs()
{
    global $wp_query;

    if (!is_home()) {
        // Start the UL
        echo '
';
        // Add the Home link
        echo '
网站首页

';

        if (is_category()) {
            $catTitle = single_cat_title("", false);
            $cat = get_cat_ID($catTitle);
            echo "
 » " . get_category_parents($cat, TRUE, " » ") . "

";
        } elseif (is_archive() && !is_category()) {
            echo "
 » Archives

";
        } elseif (is_search()) {
            echo "
 » Search Results

";
        } elseif (is_404()) {
            echo "
 » 404 Not Found

";
        } elseif (is_single()) {
            $category = get_the_category();
            $category_id = get_cat_ID($category[0]->cat_name);
            echo '
 » ' . get_category_parents($category_id, TRUE, " » ");
            echo the_title('', '', FALSE) . "

";
        } elseif (is_page()) {
            $post = $wp_query->get_queried_object();
            if ($post->post_parent == 0) {
                echo "
 » " . the_title('', '', FALSE) . "

";
            } else {
                $title = the_title('', '', FALSE);
                $ancestors = array_reverse(get_post_ancestors($post->ID));
                array_push($ancestors, $post->ID);
                foreach ($ancestors as $ancestor) {
                    if (
                        $ancestor != end($ancestors)
                    ) {
                        echo '
 » ' . strip_tags(apply_filters('single_post_title', get_the_title($ancestor))) . '

';
                    } else {
                        echo '
 » ' . strip_tags(apply_filters('single_post_title', get_the_title($ancestor))) . '
';
                    }
                }
            }
        }
        // End the UL
        echo "
";
    }
}


10,文章详情页标签

the_title(); // 标题


echo get_post_meta(15, 'views', true); // 点击次数,这个不能用
comments_number('暂无评论', '1条评论', '% 评论' ); // 评论次数
the_time(); // 发布时间


//文章详情
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        the_content();
        // get_template_part( 'template-parts/content', get_post_type() );
    }
}


11,文章列表页标签

if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        the_title();
        the_author();
        the_excerpt(); // 简介
        the_permalink(); // 文章链接
        if(has_post_thumbnail()){
            img src="the_post_thumbnail();"
        }
        echo get_post_meta(15, 'views', true);?> 阅读 
        comments_number('暂无评论', '1条评论', '% 评论' );
        the_time()
    endwhile;
endif;


12, 文章列表页获取 文章分类

the_category(', '); // 只包含 a 标签
the_category();
single_cat_title(); //在分类页面调用当前分类名称


13, 在文章页想调用出当前文章所属分类的名称

foreach((get_the_category()) as $category)
{
    echo $category->cat_name;
}
// 或
$category = get_the_category();
echo $category[0]->cat_name;
// 或
if(is_category()) {
    $cat = get_query_var('cat');
    $yourcat = get_category($cat);
    echo "该分类别名为" . $yourcat->slug;
}