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>