Webaři si nejspíše všimli, že můj web jede na WordPress.
WordPress je skvělý v tom, že si jej můžete upravit dle potřeby, ale je k tomu potřeba umět programovat nebo mít alespoň základní znalosti v tomto oboru. Do WordPressu lze kromě pluginů, vkládat i krátké kódy – snippety. Ty můžete vložit buď do souboru šablony nebo jako samostatný snippet pomocí pluginu.
Občas dám dohromady nějaký jednodušší web a už jsem se naučila si některé snippety, okamžitě nahrávat na web. O některé nejčastěji používané se s Vámi podělím. Některé jsem psala sama, jiné jsem někde našla, ale už nevím kde.
Moje oblíbené snippety jsou:
- vypnutí funkcí Gutenbergu
add_filter( 'gutenberg_use_widgets_block_editor', '__return_false' );
add_filter( 'use_widgets_block_editor', '__return_false' );
add_filter('use_block_editor_for_post', '__return_false', 10);
- nastavení nekonečného scrolování v galerii médií
add_filter( 'media_library_infinite_scrolling', '__return_true' );
- řazení produktů které nejsou skladem na konec výpisu
add_filter('posts_clauses', 'order_by_stock_status');
function order_by_stock_status($posts_clauses) {
global $wpdb;
// only change query on WooCommerce loops
if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy())) {
$posts_clauses['join'] .= " INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) ";
$posts_clauses['orderby'] = " istockstatus.meta_value ASC, " . $posts_clauses['orderby'];
$posts_clauses['where'] = " AND istockstatus.meta_key = '_stock_status' AND istockstatus.meta_value <> '' " . $posts_clauses['where'];
}
return $posts_clauses;
}
- Změna textu tlačítka pro objednání (vzhledem k novým zákonům)
add_filter( 'woocommerce_order_button_text', 'woo_custom_order_button_text' );
function woo_custom_order_button_text() {
return __( 'Objednávka zavazující k platbě', 'woocommerce' );
}
- změna defaultního řazení příspěvků a stránek v adminu
- přidání sloupce v seznamech příspěvků v adminu
- vlastní tag do Elementoru
- přidání meta tagu "Author" a "Publisher"
Pokud budete jakýkoli z kódů používat na svém webu, děláte to na vlastní nebezpečí, vždy mějte čerstvé zálohy svého webu!
Přidání kodu do šablony
Do své WP šablony můžete vložit kód přímo a to tímto způsobem:
- Přihlaste se do adminu webu
- následně v levém menu vyberte vzhled
- a v něm editor souboru šablony
- tam si vpravo vyhledáte soubor functions.php
- WP vám nejspíše zobrazí upozornění že můžete editací rozbít web
- a pak už stačí jen opatrně vkládat snippety
Nevýhody
- Pokud nevyužíváte takzvanou “Child šablonu” tak se váš kód při první aktualizaci používané šablony smaže.
- Lidé kteří vůbec nerozumí kódu mohou ve functions.php napáchat chyby například vložením snippetu doprostřed jiného kódu
Výhody
- WordPress rozezná některé chyby v kodu a snippet do functions.php nenahraje – tím se snižuje riziko že si shodíte web
- Když se vám povede celý web rozbít, stačí mít přístup na FTP kde soubor functions.php najdete a kod který web shodil smažete
Přidání kodu do šablony
Pomocí pluginu Code Snippets (nebo jiného) můžete snippety vkládat jako jednotlivé kódy. Po aktivaci pluginu stačí přejít na snippety a přidat nový, jako je to například u stránek.
Nevýhody
- Co osobně vidím jako limit především pro začátečníky je fakt že když si snippetem rozbijete web úplně tak k deaktivaci snippetu musíte do databáze. (což umí řešit jiné placené pluginy)
Výhody
- Snippety se spravují po jednom, lze tedy jedním klikem kod deaktivovat
- Můžete jednoduše exportovat a importovat oblíbené snippety napříč weby
- Když je na webu problém, deaktivací pluginu se snippety rychle zjistíte zda za to může nějaký snippet
- Snippetům lze nastavit zda budou spuštěné jen na frontendu (to co vidí návštěvník) nebo backendu (administace).