WordPress如何修改后台顶部bar菜单?

1
2
3
4
5
6
7
8
9
10
11
12
function remove_admin_bar_links() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('view-site'); // 移除链接

$wp_admin_bar->add_menu(array(
'parent' => 'site-name',
'id' => 'ucenter',
'title' => 'ucenter',
'href' => 'https://www.demos.com/ucenter/' //添加链接
));
}
add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );

WordPress如何支持webp文件?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//添加webp 支持
function filter_mime_types( $array ) {
$array['webp'] = 'image/webp';
return $array;}
add_filter( 'mime_types', 'filter_mime_types', 10, 1 );

function file_is_displayable_image($result, $path) {
$info = @getimagesize( $path );
if($info['mime'] == 'image/webp') {
$result = true;
}
return $result;
}
add_filter( 'file_is_displayable_image', 'file_is_displayable_image', 10, 2 );

WordPress如何获取当前登陆用户ID

1
$uid = get_current_user_id();

WordPress如何在用户登陆的时候执行代码?

用户登陆则记录登陆时间

1
2
3
4
5
6
function insert_last_login( $login ) {
global $user_id;
$user = get_userdatabylogin( $login );
update_user_meta( $user->ID, 'last_login', current_time( 'mysql' ));
}
add_action( 'wp_login', 'insert_last_login' );

安装了um用户插件的,当用户登陆时,给用户添加积分

1
2
3
4
5
6
7
8
9
add_action( 'um_on_login_before_redirect', 'my_on_login_before_redirect', 10, 1 );
function my_on_login_before_redirect( $user_id ) {
update_user_meta( $user_id, 'last_login_date', get_the_date( 'YMD' ) );
$last_date = get_user_meta($user_id,'last_login_date',true);
if( get_the_date( 'YMD' ) != $last_date) {
$jifen = get_user_meta($user_id,'jifen',true);
$jifen = (int)($jifen) +20;
update_user_meta($user_id,'jifen',$jifen);}
}

WordPress如何自动给图片添加alt信息?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Wordpress判断并自动添加图片ALT属性
function image_alt( $imgalt ){
global $post;
$title = $post->post_title;
$imgUrl = "<img\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>";
if(preg_match_all("/$imgUrl/siU",$imgalt,$matches,PREG_SET_ORDER)){
if( !empty($matches) ){
for ($i=0; $i < count($matches); $i++){
$tag = $url = $matches[$i][0];
$judge = '/alt=/';
preg_match($judge,$tag,$match,PREG_OFFSET_CAPTURE);
if( count($match) < 1 ) $altURL = ' alt="'.$title.'" '; $url = rtrim($url,'>');
$url .= $altURL.'>';
$imgalt = str_replace($tag,$url,$imgalt);
}
}
}
return $imgalt;
}
add_filter( 'the_content','image_alt');

WordPress如何获得数据库表前缀?

1
2
global $wpdb;
$table_prefix = $wpdb->prefix;

WordPress使用get_terms函数自定义文章的自定义分类

1
2
   //获取自定义的分类custom_tag的所有分类
$terms=get_terms('custom_tag');

调用输出

1
2
3
4
if(!empty($terms)):
foreach($terms as $term){
}
endif;

WordPress如何修改当前页面主查询参数Query

1
2
3
4
5
6
7
8
9
10
11
$wp_args = [
'post_type' => 'commresource',

'paged' => $paged,

'ignore_sticky_posts' => true,

'order' => DESC,
];
query_posts($wp_args);
//print_r($wp_query);

WordPress如何通过WP_Term_Query查询自定义分类下所有的分类信息?

WP_Term_Query查询参数条件

1
2
3
4
5
6
7
8
// WP_Term_Query arguments
$args = array(
'taxonomy' => array( '自定义分类名称' ),// register_taxonomy('自定义分类名称', '自定义分类', $args);
);
// The Term Query
$term_query = new WP_Term_Query( $args );
//print_r($term_query);
wp_reset_postdata();

WP_Term_Query查询结果输出

1
2
3
4
5
6
7
$resource_tags=array();
if ( ! empty( $term_query->terms ) ) {
foreach ( $term_query ->terms as $term ) {
$resource_tags[$term->name]=$term->term_id;
//$resource_tags[$term->name]=$term->slug;
}
}

此种查询方法用在functions.php 会报错。可以考虑使用get_terms替代。

WordPress如何获取当前页面ID?

1
$uid=get_post($id)->post_author;