Shortcodes & codes dla WordPressa
Dodatkowy plik css dla edytora Gutenberg – do functions.php
// Dodaje plik css dla edytora Gutenberg function site_block_editor_styles() { wp_enqueue_style('site-block-editor-styles', get_theme_file_uri('/style-editor.css'), false, '1.0', 'all'); } add_action('enqueue_block_editor_assets', 'site_block_editor_styles');
albo:
// Dodaje plik css dla edytora Gutenberg function legit_block_editor_styles() { wp_enqueue_style('legit-editor-styles', get_theme_file_uri('/style-editor.css'), false, '1.0', 'all'); } add_action('enqueue_block_editor_assets', 'legit_block_editor_styles');
Dodatkowy plik css dla motywu strony – do functions.php
// Dodatkowy css dla motywu (podobno poprawny, ale nie zawsze działa) - do funcions.php wp_enqueue_style( 'customstyles', get_stylesheet_directory_uri() . '/customstyles.css' ); // Dodatkowy css dla motywu (podobno niepoprawny, ale zawsze działa) - do header.php <link href="<?php echo get_stylesheet_directory_uri().'/style1.css'; ?>" rel="stylesheet" /> <link href="<?php echo get_stylesheet_directory_uri().'/style2.css'; ?>" rel="stylesheet" /> <link href="<?php echo get_stylesheet_directory_uri().'/style3.css'; ?>" rel="stylesheet" />
Ukrycie paska adminbar na stronie – do functions.php
// Ukrywa pasek adminbar na stronie function jcz_ukryj_admbar_na_stronie() { if (is_blog_admin()) { return true; } return false; } add_filter('show_admin_bar', 'jcz_ukryj_admbar_na_stronie');
Wyłączanie niektórych zakładek w Panelu Admina – do functions.php
// Wyłączanie niektórych zakładek w Panelu Admina add_action('admin_menu', 'remove_menu_pages'); function remove_menu_pages() { remove_menu_page('link-manager.php'); remove_menu_page('edit-comments.php'); remove_menu_page('plugins.php'); }
Kategoria na home – do functions.php
// Kategoria na home function my_home_category($query) { if ($query - > is_home() && $query - > is_main_query()) { $query - > set('cat', '4'); } } add_action('pre_get_posts', 'my_home_category');
Dla kilku kategorii: $query->set( 'cat', ’11 14 17’ );
Kategoria na home (2) – do functions.php
// Kategoria na home function home_one_category( $query ) { if ( $query->is_home() && $query->is_main_query() && ( ! is_admin() ) ) { $query->set( 'cat', '4' ); } } add_action( 'pre_get_posts', 'home_one_category' );
Dla kilku kategorii: $query->set( 'cat', ’11 14 17’ );
Wyłączanie jednej kategorii z home – do functions.php
// Wyłączanie jednej kategorii z home: function exclude_category($query) { if ($query - > is_home()) { $query - > set('cat', '-70'); } return $query; } add_filter('pre_get_posts', 'exclude_category');
Dla kilku kategorii: $query - > set('cat', '-70 -3');
Usuwanie słowa „Kategoria” ze strony archiwum – do functions.php
// Usuwa słowo "Kategoria" ze strony archiwum add_filter('get_the_archive_title', function($title) { if (is_category()) { $title = single_cat_title('', false); } elseif(is_tag()) { $title = single_tag_title('', false); } elseif(is_author()) { $title = '<span class="vcard">'.get_the_author(). '</span>'; } return $title; });
Dodawanie class – nazwy wpisu lub strony do <body> – do functions.php
// Page Slug Body Class function add_slug_body_class($classes) { global $post; if (isset($post)) { $classes[] = $post - > post_type. '-'.$post - > post_name; } return $classes; } add_filter('body_class', 'add_slug_body_class');
Dodawanie class – kategorii wpisów do <body> – do functions.php
// Dodaje class kategorii wpisów do body function add_categories($classes = '') { $categories = get_the_category(); foreach($categories as $category) { $classes[] = 'category-'.$category - > slug; } return $classes; } add_filter('body_class', 'add_categories');
Kod body id + class – do pliku php
<!-- body id + class --> <body id="<?php echo $post->post_name; ?>" <?php body_class(); ?>>
Limit znaków excerpt – do functions.php
// Limit znaków excerpt function custom_short_excerpt($excerpt){ return substr($excerpt, 0, 120); } add_filter('the_excerpt', 'custom_short_excerpt');
Kolejność postów i stron – dodatkowa opcja – do functions.php
// Kolejność postów i stron - dodatkowa opcja function wpzen_add_attributes_to_post() { add_post_type_support('post', 'page-attributes'); } add_action('init', 'wpzen_add_attributes_to_post'); function wpzen_change_post_order($query) { if ($query - > is_main_query()) { $query - > set('orderby', 'menu_order'); } } add_action('pre_get_posts', 'wpzen_change_post_order');
Treść dla użytkowników niezalogowanych – do functions.php
// Treść dla użytkowników niezalogowanych add_shortcode( 'visitor', 'visitor_check_shortcode' ); function visitor_check_shortcode( $atts, $content = null ) { if ( ( !is_user_logged_in() && !is_null( $content ) ) || is_feed() ) return $content; return ''; }
Kod do postu lub strony:
[visitor] Treści dla osób tylko przeglądających Twoją witrynę. [/visitor]
Treść dla użytkowników zalogowanych – do functions.php
// Treść dla użytkowników zalogowanych add_shortcode( 'member', 'member_check_shortcode' ); function member_check_shortcode( $atts, $content = null ) { if ( is_user_logged_in() && !is_null( $content ) && !is_feed() ) return $content; return ''; }
Kod do postu lub strony:
[member] To jest treść tylko dla członków. [/member]
Ograniczanie Revisions – do config.php
po: /* That's all, stop editing! Happy publishing. */ przed: /** Absolute path to the WordPress directory. */ // Wyłączanie WP Post Revisions define('AUTOSAVE_INTERVAL', 300); // seconds define('WP_POST_REVISIONS', false); albo: // Limit WP Post Revisions define('AUTOSAVE_INTERVAL', 300); // seconds define('WP_POST_REVISIONS', 3);
Treść tylko na stronie głównej – do pliku php
<!-- Treść tylko na stronie głównej --> <?php if( is_front_page() ) : ?> Jakaś treść <?php endif;?>
Ilość komentarzy widoczna na stronie głównej, pod każdym postem – do pliku php
<!-- ilość komentarzy --> <?php $comments_count = wp_count_comments( $post->ID ); ?> <a href="<?php the_permalink(); ?> #comments" rel="nofollow" class=""><i class="fa fa-comment"></i> komentarzy <?php echo $comments_count->approved; ?></a>
Tłumaczenie słów i wyrażeń szablonu – do functions.php
// Tłumaczenie pojedynczcyh słów i wyrażeń function ra_change_translate_text( $translated_text ) { if ( $translated_text == 'Old Text' ) { $translated_text = 'New Translation'; } return $translated_text; } add_filter( 'gettext', 'ra_change_translate_text', 20 );
albo:
//tłumaczenie wielu słów i wyrażeń szablonu function ra_change_translate_text_multiple( $translated ) { $text = array( 'Old Text 1' => 'New Translation 1', 'Old Text 2' => 'New Translation 2', 'Old Text 3' => 'New Translation 3', ); $translated = str_ireplace( array_keys($text), $text, $translated ); return $translated; } add_filter( 'gettext', 'ra_change_translate_text_multiple', 20 );
reCaptcha theme „dark” – do <head> w header.php
<!-- reCaptcha theme "dark" --> <script> document.addEventListener('DOMContentLoaded', (event) => { const recaptcha = document.querySelector('.g-recaptcha'); recaptcha.setAttribute("data-theme", "dark"); }); </script>
jquery modal – do <head> w header.php i do postu
<!-- kod do header.php --> <!-- Remember to include jQuery :) --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script> <!-- jQuery Modal --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" /> <!-- kod do postu --> <!-- Modal HTML embedded directly into document --> <div id="ex1" class="modal"> <p>1 Thanks for clicking. That felt good.</p> <a href="#" rel="modal:close">Close</a> </div> <!-- Link to open the modal --> <p><a href="#ex1" rel="modal:open">Open Modal</a></p>