usunięcie dodanych inline styli w WP 5.9 global-styles-inline-css

w pliku functions.php dodajemy kod:


//Remove Gutenberg Block Library CSS from loading on the frontend
function nws_remove_wp_block_library_css(){
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'wc-block-style' ); // Remove WooCommerce block CSS
wp_dequeue_style( 'global-styles' ); // Remove theme.json
}
add_action( 'wp_enqueue_scripts', 'nws_remove_wp_block_library_css', 100 );

rozszerzenie dla google fonts o polskie znaki

dodajemy na końcu url =latin-ext


<link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Montserrat:wght@200&display=swap=latin-ext" rel="stylesheet">

modyfikacja głównego wp dla konkretnych taxonomi


function nws_adjust_queries($query) {
if ( !is_admin() && is_post_type_archive('oferty') && $query->is_main_query() ) {
$query->set('posts_per_page', '1');
$taxQuery = [
[
'taxonomy' => 'oferty_category',
'field' => 'slug',
'terms' => ['archiwum'],
'operator' => 'NOT IN',
],
];
$query->set('tax_query', $taxQuery);
}
}
add_action('pre_get_posts', 'nws_adjust_queries');

dodanie blokowania skryptów w kodzie php dla plugina Cookie Notice

Plugin Cookie Notice (by Hu-manity.co) pozwala na blokowanie nie funkcjonalnych skryptów do czasu wyrażenia na nie zgody, jak np. skrypty google analytics, w kodzie strony możemy to zrobić wykorzystując funkcję cn_cookies_accepted:

  <?php if (function_exists('cn_cookies_accepted') && cn_cookies_accepted()) { ?>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?...."></script>
    <script>
      ....
    </script>
  <?php } ?>

Ważne by zaznaczyć przy tym opcję Reloading (Przeładowuję) – Enable to reload the page after cookie are accepted. (Włącz aby przeładowywać stronę po akceptacji ciasteczek.)

Pobranie listy kategorii produktów z różnymi parametrami

dokumentacja

zmiana hasła dla admina w bazie danych

nie powinno często sie to zdarzać ale bywa że z jakichś powodów technicznych resetowanie hasła nie jest możliwe, wtedy, jeśli mamy dostęp do bazy danych możemy tego dokonać bezpośrednio w phpMyAdmin. Oto kroki:

  1. logujemy się do phpMyAdmin
  2. z menu paska bocznego wybieramy tablicę prefix_users
  3. wyszukujemy w liście użytkowników tego, któremu edytujemy hasło i klikamy opcję Edit/Edytuj
  4. wprowadzamy nowe hasło w polu user_pass
  5. z paska obok wybieramy kodowanie MD5
  6. zapisujemy zmiany dolnym przyciskiem Wykonaj
  7. logujemy sie do panelu admina wp na nowe wprowadzone hasło

php lista z pętli bez przecinka po ostatnim elemencie

$arr = array(1,2,3,4,5,6,7);
$copy = $arr;
foreach ($arr as $val) {
    echo $val;
    if (next($copy )) {
        echo ','; // Add comma for all elements instead of last
    }
}

zmiana ilości custom postów wyświetlanych na archiwum lub

// change postperpage on custom post
function nws_custom_post_pagesize( $query ) {
    if ( ! is_admin() && is_post_type_archive( 'travel' ) ) {
			$query->set( 'posts_per_page', 5 );
			return;
    }
}
add_action( 'pre_get_posts', 'nws_custom_post_pagesize', 1 );


add_action( 'pre_get_posts', function( $query) {
    if ( !is_admin() && $query->is_tax( 'where' ) ) {
        $query->set( 'posts_per_page', 6 );
				return;
    }

} );

dodanie nr telefonu jako aktywnego linku

Aby nr telefony na stronach był klikalny należy dodać go jako link z atrybutem href zaczynającym się od tel:

<a href="tel:+123456890">1234567890</a>

W html5 nie musimy ograniczać sie tylko do akcji wybrania nr telefonu, mamy dostępne tez:

  • tel: – wykonanie telefonu
  • mailto: – otwiera aplikację do wysyłania maili
  • callto: – połączenie przez Skype
  • sms: – wysyła wiadomość tekstową
  • fax: – wysyła fax

Poniżej kod do wylistowania listy nr telefonów pobranych z repeated fields z plugina ACF WordPressa.
Pole zbiorcze o nazwie z sub-polem o nazwie zamieszczone na stronie front page:

<?php
 $frontPageId = get_option('page_on_front');
 $header_info_tel = get_field('header_info_tel', $frontPageId);
 if($header_info_tel):
   $countIT = count(get_field('header_info_tel', $frontPageId));
   $it = 0; 
   while(has_sub_field('header_info_tel', $frontPageId)):
     $homeTopTel = get_sub_field('header_info_tel_nr', $frontPageId); 
     echo '<a href="tel:+48' . esc_attr(preg_replace('/[^0-9+]/','',$homeTopTel)) . '">';
     echo $homeTopTel;
     echo '</a>';
     echo ($it < count($countIT)) ? " , " : "";
     $it++;
   endwhile;
 endif;
?>

ataki na wp

ciekawe linki do przeczytania:

Free fonts – ładne darmowe czcionki

Żaden dobry projekt nie może się obejść bez dobrze dobranych czcionek. A oto subiektywna lista darmowych fontów, które lubię używać w projektach:

  1. Amagro by Fabio Servolo
  2. Saint George Stencil

Zwiększenie maksymalnej wartości wgrywanego pliku

aby zmienić Maximum upload file size: 128 MB możemy wyedytować plik wp-config.php

@ini_set( 'upload_max_filesize' , '128M' );
@ini_set( 'post_max_size', '128M');
@ini_set( 'memory_limit', '256M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );

wykaz wszystkich rozmiarów zdjęć w WordPress

wykaz wszystkich rozmiarów zdjęć

<?php
  global $_wp_additional_image_sizes;
  print '<pre>';
  print_r( $_wp_additional_image_sizes );
  print '</pre>';
?>
<?php
  function nws_get_all_image_sizes() {
      global $_wp_additional_image_sizes;

      $default_image_sizes = get_intermediate_image_sizes();

      foreach ( $default_image_sizes as $size ) {
          $image_sizes[ $size ][ 'width' ] = intval( get_option( "{$size}_size_w" ) );
          $image_sizes[ $size ][ 'height' ] = intval( get_option( "{$size}_size_h" ) );
          $image_sizes[ $size ][ 'crop' ] = get_option( "{$size}_crop" ) ? get_option( "{$size}_crop" ) : false;
      }

      if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) ) {
          $image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );
      }

      return $image_sizes;
  }
  var_dump(nws_get_all_image_sizes());
?>

usuniecie rozmiaru medium_large

add_filter('intermediate_image_sizes', function($sizes) {
    return array_diff($sizes, ['medium_large']);
});

usuniecie dowolnego, innego niż medium_large rozmiaru

    remove_image_size('1536x1536');
    remove_image_size('2048x2048');

dodanie nowego rozmiaru

add_image_size( 'galery-min', 480, 360, ['center', 'top'] ); // Hard crop left top
add_image_size( 'medium_large', 768, 0); // Hard crop left top

dodanie google reCaptcha do formularza html/php i integracja z jquery.validate

przydatne do tego artykuły: