Když není do čeho píchnout, dělám malé weby mám chvilku, dělám webíky pro známé. Dělám svoje vlastní šablony a během tvorby jsem se setkal s těmito specialitami:
Jak přidat do menu (main-menu) class nav-link?
//add class="nav-link" to href in li in menu
add_filter( 'nav_menu_link_attributes', 'add_specific_menu_location_atts', 10, 3 );
function add_specific_menu_location_atts( $atts, $item, $args ) {
// check if the item is in the primary menu
if( $args->theme_location == 'main-menu' ) {
// add the desired attributes:
$atts['class'] = 'nav-link';
}
return $atts;
}
V administraci pro pro uživatele id 2 skryj položky z menu:
function remove_menus(){
if(get_current_user_id() == 2) {
//hide for user id 2
remove_menu_page('index.php'); //Dashboard
remove_menu_page('jetpack'); //Jetpack*
remove_menu_page('edit.php'); //Posts
//remove_menu_page('upload.php'); //Media
//remove_menu_page('edit.php?post_type=page'); //Pages
remove_menu_page('edit-comments.php'); //Comments
remove_menu_page('themes.php'); //Appearance
remove_menu_page('plugins.php'); //Plugins
remove_menu_page('users.php'); //Users
remove_menu_page('tools.php'); //Tools
remove_menu_page('options-general.php'); //Settings
remove_menu_page('WP-Lightbox-2'); //WP Lightbox 2
}
}
add_action( 'admin_menu', 'remove_menus' );
Jak v administraci použít vlastní css styl pro editor?
add_action( 'init', 'load_custom_wp_admin_editor_styles' );
function load_custom_wp_admin_editor_styles() {
add_editor_style( get_template_directory_uri() . '/css/admin-style.css' );
}
Vytvářená galerie bude mít defaultně předvolené 4 sloupce fotek:
/**
* Default 4 colums in gallery
* @param $settings
* @return mixed
*/
function theme_gallery_defaults( $settings ) {
$settings['galleryDefaults']['columns'] = 4;
return $settings;
}
add_filter( 'media_view_settings', 'theme_gallery_defaults' );
Vytvářená galerie bude mít automaticky předvolen URL odkazu na mediální soubor:
/**
* Gallery default URL odkazu: medialni soubor
*/
add_filter( 'shortcode_atts_gallery',
function( $out ){
$out['link'] = 'file';
return $out;
}
);
U nahrávání fotek do mediálních souborů odeber titulek fotky a popis (některé foťáky tam ukládají nesmysly):
/**
* Automatically set the title as caption to empty
*
* @see https://wordpress.stackexchange.com/a/188708/26350
*/
add_filter( 'wp_insert_attachment_data', function( $data, $postarr )
{
// Let's target only the uploading process and not the updating of attachments:
if( isset( $postarr['ID'] ) && 0 == $postarr['ID'] ) {
$data['post_excerpt'] = "";
$data['post_title'] = "";
}
return $data;
}, 10, 2 );
Automatická aktualizace:
//auto actualise
//plusing
add_filter( 'auto_update_plugin', '__return_true' );
//themes
add_filter( 'auto_update_theme', '__return_true' );
//wp
define( 'WP_AUTO_UPDATE_CORE', true );