functions
functions
php
/**
* 开启特色图像功能
*/
function wordpresskt_support_thumbnail()
{
// 声明使用特色图像功能
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'wordpresskt_support_thumbnail');
// 定义一个 php 函数
function wordpresskt_register_menus()
{
// 注册导航,也就是声明要使用导航菜单功能,同时表明要注册几个导航,用不同的位置标识
register_nav_menus(array(
// '位置标记' => '位置标题'
'nav-1' => '顶部导航',
// 可以注册多个菜单
'nav-2' => '底部导航',
));
}
//禁用更新提示
add_action('admin_menu','wp_hide_nag');
function wp_hide_nag() {
remove_action( 'admin_notices', 'update_nag', 3 );
}
// 将自定义函数挂载到 after_setup_theme 钩子下
add_action('after_setup_theme', 'wordpresskt_register_menus');
// 自定义一个 php 函数
function wordpresskt_mytheme_setup()
{
// 声明要使用 wordpress 集成好的页面标题功能
add_theme_support('title-tag');
}
// 将自定义函数,添加到 after_setup_theme 钩子上
add_action('after_setup_theme', 'wordpresskt_mytheme_setup');
/**
* 截取正文
* @param int $len 要截取的字符数量
* @param string $suffix 如果发生截取,添加什么标记
* @return string
*/
function wordpresskt_strim_post_content($len = 100, $suffix = '...')
{
// 获取正文信息,并做必要处理
$content = get_the_content();
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
// 去除正文中的 HTML 标签
$content = strip_tags($content);
class PTCFP
{
function __construct()
{
/**
* 确保这些查询修改不会作用于管理后台,防止文章和页面混杂
*/
if (!is_admin()) {
add_action('pre_get_posts', array($this, 'category_archives'));
add_action('pre_get_posts', array($this, 'tags_archives'));
} // ! is_admin
} // __construct
/**
* 为“页面”添加“标签”和“分类”
*
* @uses register_taxonomy_for_object_type
*/
function taxonomies_for_pages()
{
register_taxonomy_for_object_type('post_tag', 'page');
register_taxonomy_for_object_type('category', 'page');
} // taxonomies_for_pages
/**
* 在标签存档中包含“页面”
*/
function tags_archives($wp_query)
{
if ($wp_query->get('tag'))
$wp_query->set('post_type', 'any');
} // tags_archives
/**
* 在分类存档中包含“页面”
*/
function category_archives($wp_query)
{
if ($wp_query->get('category_name') || $wp_query->get('cat'))
$wp_query->set('post_type', 'any');
} // category_archives
} // PTCFP
$ptcfp = new PTCFP();
/**
* 注册边栏
*/
// 自定义的一个函数
function wordpresskt_register_sidebar()
{
// 注册一个边栏
register_sidebar(array(
'name' => 'sidebar1',
'id' => 'sidebar-1',
'description' => '',
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
));
// 注册另一个边栏
register_sidebar(array(
'name' => 'sidebar2',
'id' => 'sidebar-2',
'description' => '',
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
));
}
// 将自定义函数挂载到 widgets_init 中
add_action('widgets_init', 'wordpresskt_register_sidebar');
class Disable_Google_Fonts
{
public function __construct()
{
add_filter('gettext_with_context', array($this, 'disable_open_sans'), 888, 4);
}
public function disable_open_sans($translations, $text, $context, $domain)
{
if ('Open Sans font: on or off' == $context && 'on' == $text) {
$translations = 'off';
}
return $translations;
}
}
$disable_google_fonts = new Disable_Google_Fonts;
//分页
function mo_paging()
{
$p = 3;
if (is_singular()) return;
global $wp_query, $paged;
$max_page = $wp_query->max_num_pages;
if ($max_page == 1) return;
echo '';
if (empty($paged)) $paged = 1;
//echo '<a class="prev">';
previous_posts_link('«');
//echo '</a>';
// if ($paged > $p + 1) _paging_link(1, '<li>第一页</li>');
if ($paged > $p + 2) echo "";
for ($i = $paged - $p; $i <= $paged + $p; $i++) {
if ($i > 0 && $i <= $max_page) $i == $paged ? print "<span
class='thisclass'>{$i}</span>" : _paging_link($i);
}
if ($paged < $max_page - $p - 1) echo "";
//echo '<a class="next">';
next_posts_link('»');
//echo '</a>';
// echo '<li><span>共 ' . $max_page . ' 页</span></li>';
echo '';
}
//获取根分类 id
function get_category_root_id($cat)
{
$this_category = get_category($cat); // 取得当前分类
while ($this_category->category_parent) // 若当前分类有上级分类时,循环
{
$this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类
(往上爬)
}
return $this_category->term_id; // 返回根分类的 id 号
}
//修改后台显示更新的代码
/*
Plugin Name: WP No Category Base
Plugin URI: http://blinger.org/wordpress-plugins/no-category-base/
Description: Removes '/category' from your category permalinks.
Version: 1.1.1
Author: iDope
Author URI: http://efextra.com/
*/
register_deactivation_hook(__FILE__, 'no_category_base_deactivate');
function no_category_base_deactivate() {
remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
// We don't want to insert our custom rules again
no_category_base_refresh_rules();
}
$category_rewrite = array();
$categories = get_categories(array('hide_empty' => false));
foreach ($categories as $category) {
$category_nicename = $category -> slug;
if ($category -> parent == $category -> cat_ID)// recursive recursion
$category -> parent = 0;
elseif ($category -> parent != 0)
$category_nicename = get_category_parents($category -> parent,
false, '/', true) . $category_nicename;
$category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|
rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
$category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$']
= 'index.php?category_name=$matches[1]&paged=$matches[2]';
$category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?
category_name=$matches[1]';
}
// Redirect support from Old Category Base
global $wp_rewrite;
$old_category_base = get_option('category_base') ?
get_option('category_base') : 'category';
$old_category_base = trim($old_category_base, '/');
$category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?
category_redirect=$matches[1]';
// For Debugging
//add_filter('rewrite_rules_array', 'no_category_base_rewrite_rules_array');
//function no_category_base_rewrite_rules_array($category_rewrite) {
// var_dump($category_rewrite); // For Debugging
//}
/**
* tag 页链接转换,将 /tag/tag-name/ 转成 /tag/tag-name.html
*/
function ludou_html_tag_link($tag_link, $tag_id) {
return rtrim($tag_link, '/');
}
//禁用古腾堡
add_filter('use_block_editor_for_post', '__return_false');
// Custom comment walker.
require get_template_directory() . '/classes/class-twentytwenty-walker-
comment.php';
//移除网址表单
function url_filtered($fields){
if(isset($fields['url']))
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields', 'url_filtered');
// 移除邮箱地址
add_filter('comment_form_defaults','remove_email');
function remove_email($comment_form_html_arr){
//删除 email 文本框
unset($comment_form_html_arr['fields']['email']);
//修改评论提醒内容,去掉电子邮件相关的提醒。
$comment_form_html_arr['comment_notes_before'] = '<p class="comment-
notes">'.sprintf( ' ' . __( 'Required fields are marked %s' ), '<span
class="required">*</span>' ).'</p >';
return $comment_form_html_arr;
}
//增加英文字体,修改字体大小
function MBT_add_editor_buttons($buttons) {
$buttons[] = ‘fontselect’;
$buttons[] = ‘fontsizeselect’;
$buttons[] = ‘cleanup’;
$buttons[] = ‘styleselect’;
$buttons[] = ‘del’;
$buttons[] = ‘sub’;
$buttons[] = ‘sup’;
$buttons[] = ‘copy’;
$buttons[] = ‘paste’;
$buttons[] = ‘cut’;
$buttons[] = ‘image’;
$buttons[] = ‘anchor’;
$buttons[] = ‘backcolor’;
$buttons[] = ‘wp_page’;
$buttons[] = ‘charmap’;
return $buttons;
}
add_filter(“mce_buttons_2”, “MBT_add_editor_buttons”);