Salam. Deməli belə bir şey etmək istəyirəm, ama nə dərəcədə düzgün olduğunu bilmirəm.
VVordpress də bütün funksiyaları hook ları action ları register post type taxanomy və.s bu kimi kodları functions.php faylı içində yazırıq. Halbu ki functions.php də yazılan elə kodlar var ki bizə yalnız dashboar w-admin də olarkən lazım olur.
meselen bu kimi kodlar da hemcinin
/*Admin bar remove*/ function admin_bar_remove() { global $wp_admin_bar; $wp_admin_bar->remove_menu('wp-logo'); $wp_admin_bar->remove_menu('comments'); $wp_admin_bar->remove_menu('new-content'); } add_action('wp_before_admin_bar_render', 'admin_bar_remove', 0); /*Footer version or update alert remove*/ add_action( 'admin_menu', 'remove_footer_version_or_update_info' ); function remove_footer_version_or_update_info() { remove_filter( 'update_footer', 'core_update_footer' ); } /*Remove admin main page widgets*/ function remove_dashboard_widgets() { global $wp_meta_boxes; unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']); unset($wp_meta_boxes['dashboard']['normal']['core']['icl_dashboard_widget']); unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); } add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
ama saytın front hissəsində hər hansı user daxil olsa belə o kodlar start olur.
istəyirəm o kodları ayıram. functions.php dashboard_functions.php və site_functions.php yaradıb functions.php içində sadecə
<?php if (is_admin()) { include('dashboard_functions.php'); } else { include('site_functions.php'); } ?>
belə yazam.
Sualım isə odur ki mən yeni post type, taxananomy v.s bu kimi şeylər saytın front hissəsində də olarkən register olunmalıdı? Bu kimi kodlari dashboard_functions.php icinde yazsam her hansi problem olmaz? hem umumi goturende functions.php icinde yazilan kodlarin 80 % e qederi onsuz da admin panele aid olur. ona gore istemirem site hissede bu kodalri lazimsiz yere yukleyem sayta.
Tesekkur edirem.
Verilmiş cavablar və yazılan şərhlər (2 cavab var)
1
Əslində bu fərdi məsələdir. Əgər backend-də işlədəcəyiniz funksiyalar frontenddə lazım olmayacaqsa, niyə də yox? Yəni yoxlayın, test edin, problem çıxmayacaqsa, əla olar ayırmaq.
Şəxsən mən son zamanlarda bir proyektdə işlətmişəm oxşar bir məntiqi . functions-da demək olar heç nə yoxdur. Admin olanda ona uyğun library import olur, front-da da ona uyğun. Ümumiyyətlə isə hazırda üzərində işlədiyim odur ki, bu məntiqi OOP-a daşıyım. Demək olar ki bitirmişəm və başqa 1 proyektdə tətbiq etmişəm. Tam MVC olmasa da, MVC patterni xatırladan amma wordpress-in də özəlliklərini nəzərə alan bir tasarım yanaşmasıdır. Controller sorğuları qəbul edir, modelləri çağıraraq data emalından sonra yekunu view-lar ilə render edir. Universal bir şey çıxsa ortaya, githubda da paylaşaram lap.
p.s. özüm işlətməsəm də və işlətmək fikrim olmasa da WP theme üçün tam MVC məntiqi təşkil edən open source proyekt var: https://github.com/markirby/Chester-WordPress-MVC-Theme-Framework
0
Tesekkurler Elvin. Etrafli izaha gore. qeyd etdiyiniz proyekti arasdiracam. bundan elave de hal hazirda uzerinde islediyiniz wp mvc theme strukturu da maraqli geldi cox.
Sual verin
Cavab verin