阅读 100

wordpress主题基础总结

这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战

主题基础

使用functions.php文件给主题添加独特的功能。

functions.php类似插件。

WordPress插件:

  • 需要特定的,唯一的标题文本;
  • 存储在wp-content / plugins中,通常存储在子目录中;
  • 仅在激活时在页面加载时执行;
  • 适用于所有主题;和
  • 应该有一个目的-例如,提供搜索引擎优化功能或帮助进行备份。

同时,一个functions.php文件:

  • 不需要唯一的标题文本;
  • 存储在wp-content / themes中主题的子目录中;
  • 仅在活动主题的目录中执行;
  • 仅适用于该主题(如果更改了主题,则不能再使用这些功能);
  • 可以有许多用于许多不同目的的代码块。

导航菜单

使用register_nav_menus注册一个菜单。、

register_nav_menus( array(
    'primary'   => __( 'Primary Menu', 'myfirsttheme' ),
    'secondary' => __( 'Secondary Menu', 'myfirsttheme' )
) );
复制代码

可以使用wp_nav_menu来使用这个注册的菜单。

国际化

使用load_theme_textdomain就可以翻译多种语言。

load_theme_textdomain( 'myfirsttheme', get_template_directory() . '/languages' );
复制代码

内容宽度

将内容区域的最大宽度设置为800像素。

if(!isset($content_width)){
    $content_width = 800;
}
复制代码

链接主题文件

使用模板标签调用。

get_header, get_footer, get_sidebar

如果有自定义版本的文件:sidebar-{name}.php, header-{name}.php

就可以使用get_header('name')

也可以使用get_template_part在任何位置调用他们。

创建了一个模板文件content.php

添加特定的内容content-product.php

就使用get_template_part('content', 'product')

主题目录

get_theme_file_uri获取主题目录

参数是路径上的文件,优先当前主题,没有文件就去父主题中寻找。

在子主题中,使用get_parent_theme_file_uri(), get_parent_theme_file_path() 获取uri或路径。

动态链接

使用get_permalink($Id)来获取链接。

插入脚本和样式

使用wp_enqueue_script或wp_enqueue_style。

加载样式

wp_enqueue_style( 'style', get_stylesheet_uri() );
复制代码
wp_enqueue_style( $handle, $src, $deps, $ver, $media);
复制代码
  • $ handle只是样式表的名称。
  • $ src是它所在的位置。其余参数是可选的。
  • $ deps表示此样式表是否依赖于另一个样式表。如果设置此选项,则除非先加载其依赖的样式表,否则不会加载该样式表。
  • $ ver设置版本号。
  • $ media可以指定加载此样式表的媒体类型,例如“全部”,“屏幕”,“打印”或“手持”。

主题的根目录下的名为slider.css

wp_enqueue_style( 'slider', get_template_directory_uri() . '/css/slider.css',false,'1.1','all');
复制代码

加载脚本

wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer);
复制代码
  • $ handle是脚本的名称。
  • $ src定义脚本的位置。
  • $ deps是一个数组,可以处理新脚本依赖的任何脚本,例如jQuery。
  • $ ver可让您列出版本号。
  • $ in_footer是一个布尔参数(true / false),它允许您将脚本放置在HTML文档的页脚中,而不是标题中,以便不延迟DOM树的加载。

将所有的排队加载组合到函数中。

使用一个动作来add_action('wp_enqueue_scripts', 'add_theme_scripts')

function add_theme_script(){

}

条件模板

是否登录 is_user_logged_in()

是否在主页 is_home()

是否在页面中 is_front_page()

是否是管理业 is_admin()

显示单个帖子页 is_single() 参数是帖子的标题或id,参数可以是数组,数字就是id,字符串就是标题。

get_post_type() 获取当前帖子的类型。

is_page() 显示任何页面时,数字时就是显示ID,字符串就是标题,可以是数组。

is_category 类别

is_tag 标签

is_author 作者

文章分类
后端
文章标签