Porady dla programistów Cherry Framework od SukcesStrony.pl

Firma Sukces Strony dzieli się dzisiaj z nami praktycznymi poradami i kodem, którego warto używać uniwersalnie w projektach opartych o Framework Cherry. Jest to przedłużenie poprzedniego wywiadu, w którym firma Sukces Strony podzieliła się swoim doświadczeniem na temat używania Framework Cherry na praktyce.

Zapraszamy do lektury!

Janusz Kamiński: Jakie zmiany standardowo wprowadzają Państwo do projektów opartych o Cherry Framework?
SukcesStrony.pl: Po latach pracy mamy pewien stały zestaw reguł, którymi chętnie się podzielimy.
Na początek, wyłączamy funkcje związane z pozycjonowaniem, ponieważ używamy bardziej zaawansowanej wtyczki Yoast SEO.
Edytor blokowy MotoPress także wyłączamy, ponieważ dla większości projektów jest zbędny. Jeśli edytor blokowy jest potrzebny, zazwyczaj decydujemy się na bardziej zaawansowany Visual Composer.
Motywy firmy TemplateMonster oparte o Cherry często mają pojedyncze zdjęcia lub slogany na stronie głównej. Aby umożliwić właścicielom witryn modyfikacje tych elementów bez znajomości programowania, posługujemy się fantastyczną wtyczką Advanced Custom Fields.
Janusz Kamiński: Jak wygląda u Państwa dodawanie sklepu WooCommerce z użyciem Cherry Framework?
SukcesStrony.pl: Do sklepów internetowych WooCommerce opartych o Cherry dodajemy często moduł koszyka sklepowego w przypinanym menu nawigacyjnym z pomocą wtyczki Menu Cart Pro.
Ze względu na sposób zamiany przez Cherry pozycji menu na listę wyboru elementów w trybie mobilnym trzeba jednak wykluczyć pozycje generowane przez wtyczkę. Dlatego też w motywie potomnym w folderze "js" tworzymy kopię oryginalnego pliku jquery.mobilemenu.js i dodajemy nad linią:
if menu has submenu

zapis:

Omit options menu items made by the WooCommerce WP Menu Cart Pro plugin
if($this.hasClass('wpmenucart-contents') || $this.parents('li').hasClass('wpmenucart-submenu-item')){
return true; /* skips the iteration and continues the loop */
}

Aby całość działała, trzeba w pliku functions.php dodać także ładowanie nowej wersji generatora menu mobilnego:

if(!function_exists('ss_cherry_load_mobilemenu')){
function ss_cherry_load_mobilemenu() {
wp_dequeue_script( 'mobilemenu' );
wp_enqueue_script( 'mobilemenu_child', get_stylesheet_directory_uri() . '/js/jquery.mobilemenu.js', array( 'jquery' ) );
}
add_action( 'wp_enqueue_scripts', 'ss_cherry_load_mobilemenu', 20 );
}

Oprócz tego dla wtyczki Menu Cart Pro trzeba ukryć strzałkę generowaną przez Cherry Framework, co realizuje następujący kod CSS:

li.wpmenucartli a.wpmenucart-contents span.sf-sub-indicator{ /* removes dropdown arrow for Cherry Framework on the WP Menu Cart menu item */
display: none !important;

}

Cherry Framework

Janusz Kamiński: Czy starsze wersje frameworka Cherry mają jakieś kwestie wymagające poprawy?
SukcesStrony.pl: Zdarzało nam się natrafić na problem używania przez starsze wersje frameworka Cherry nieaktualnych wersji jQuery. Standardowo więc do każdego projektu w pliku functions.php dodajemy ładowanie tej biblioteki w wersji aktualnej, z rdzenia WordPressa, zamiast kopii zawartej w Cherry:
if(!function_exists('update_jquery_for_cherry_framework')){
add_action('wp_enqueue_scripts', 'update_jquery_for_cherry_framework', 11);
function update_jquery_for_cherry_framework() {
wp_deregister_script('jquery');
wp_register_script('jquery', '/wp-includes/js/jquery/jquery.js', false, false, true);
wp_enqueue_script('jquery');
}
}

Jeśli zachodzi potrzeba, używamy skryptu jQuery Migrate by stare skrypty wciąż działały z nową wersją jQuery.

Janusz Kamiński: Czy jeszcze jakieś standardowe zmiany w motywach opartych o Cherry Framework Państwo wprowadzają?
SukcesStrony.pl: Niektóre motywy oparte o Cherry Framework dodają panele boczne (ang. sidebars) stopki strony do panelu administracyjnego, mimo, że faktycznie widgety zamieszczone w tych obszarach nie są wyświetlane na witrynie.
Usuwamy je więc także z panelu administracyjnego następującym kodem zamieszczanym w pliku functions.php:
if(!function_exists('remove_some_widgets')){
function remove_some_widgets(){
unregister_sidebar( 'footer-sidebar-1' );
unregister_sidebar( 'footer-sidebar-2' );
unregister_sidebar( 'footer-sidebar-3' );
unregister_sidebar( 'footer-sidebar-4' );
}
add_action( 'widgets_init', 'remove_some_widgets', 11 );
}
Janusz Kamiński: A od strony administracyjnej?
SukcesStrony.pl: Cherry w wersjach 3 i 4 nie jest oparty o moduły. Skutkiem tego, właściciele stron, którzy nie używają np. funkcji Portfolio, widzą w panelu administracyjnym dział Portfolio. Ukrywamy więc te elementy, które nie są używane, upewniając się jednak najpierw, że w panelu administracyjnym usunęliśmy demonstracyjne treści tych działów.
Kod ukrywający poszczególne działy, który należy opublikować w pliku functions.php:
if(!function_exists('my_cherry_remove_menus')){
function my_cherry_remove_menus(){

remove_menu_page( 'edit.php?post_type=clients' );
remove_menu_page( 'edit.php?post_type=faq' );
remove_menu_page( 'edit.php?post_type=testi' );
remove_menu_page( 'edit.php?post_type=team' );
remove_menu_page( 'edit.php?post_type=services' );
remove_menu_page( 'edit.php?post_type=portfolio' );
remove_submenu_page( 'themes.php', 'themes.php?page=install-required-plugins' );

}
add_action( 'admin_menu', 'my_cherry_remove_menus', 999 );
}

O firmie Sukces Strony

Sukces Strony to firma tworząca strony i sklepy internetowe, audytująca je oraz pozycjonująca. Przez lata opierała swoje rozwiązania o Cherry Framework, współpracując ściśle z serwisem TemplateMonster.



Janusz Kamiński

Specjalista działu marketingu w TemplateMonster Polska. W branży IT pracuję od 8 lat. Zaczynałem od stanowiska administratora strony, dalej pracowałem jako specjalista SEO, pozycjoner, outreach manager. Teraz pracuję jako marketingowca. Uwielbiam piłkę nożną, historię i podróży: mieszkałem w 5 krajach na 2 kontynentach. I chociaż nie jestem obywatelem Polski, ten kraj jest w moim sercu! Możecie mnie Państwo znaleźć na Facebooku i Twitterze.