__('Paramètres du site', 'homegrade-theme__texte-backoffice'), 'menu_title' => __('Paramètres du site', 'homegrade-theme__texte-backoffice'), 'menu_slug' => 'theme-general-settings', 'capability' => 'activate_plugins', 'redirect' => false, 'position' => 20, )); } } // add_options_page( 'MyPlugin Options', 'MyPlugin Options', 'activate_plugins', 'myplugin-options', 'myplugin_options' ); add_action('acf/init', 'register_theme_settings_option_page'); /* --------------------------- ADMIN STYLES ---------------------------*/ // Amin Stylesheet function my_custom_admin() { wp_enqueue_style('admin_styles', get_template_directory_uri() . '/css/admin-style.css'); } add_action('admin_head', 'my_custom_admin'); // ENQUEUE DU CSS BLADE LOGIN ADMIN function enqueue_custom_login_stylesheet() { wp_enqueue_style('custom-login', get_stylesheet_directory_uri() . '/style-login.css'); } add_action('login_enqueue_scripts', 'enqueue_custom_login_stylesheet'); /* ---------------------------------- ENQUEUE DU COLOR SCHEME ADMIN -----------------------------------*/ function homegrade_admin_color_scheme() { //Get the theme directory $theme_dir = get_stylesheet_directory_uri(); //Homegrade wp_admin_css_color( 'homegrade_light', 'Homegrade Light', $theme_dir . '/homegrade-light-color-scheme.css', array('#cf4944', '#fff', '#d54e21', '#2f0154') ); wp_admin_css_color( 'homegrade_dark', 'Homegrade Dark', $theme_dir . '/homegrade-dark-color-scheme.css', array('#2f2a33', '#fff', '#e14d43', '#e14d43') ); } add_action('admin_init', 'homegrade_admin_color_scheme'); /* ---------------------------------- REMOVE FROM ADMIN MENU -----------------------------------*/ function custom_menu_page_removing() { // remove_menu_page('edit.php'); // Hide Articles remove_menu_page('edit-comments.php'); // Hide Commentaires } add_action('admin_menu', 'custom_menu_page_removing'); /* ---------------------------------- HIDE EDITOR ON CERTAIN PAGES -----------------------------------*/ function hide_editor() { if (!is_admin()) return null; $post_id = isset($_GET['post']) ? $_GET['post'] : (isset($_POST['post_ID']) ? $_POST['post_ID'] : null); if (!isset($post_id)) return; $template_file = get_post_meta($post_id, '_wp_page_template', true); if ($template_file == 'template-publications.php') { // edit the template name remove_post_type_support('page', 'editor', 'comments'); } } add_action('admin_init', 'hide_editor'); function remove_meta_boxes() { # Removes meta from Posts # // remove_meta_box('postexcerpt', 'post', 'normal'); // remove_meta_box('postcustom', 'post', 'normal'); // remove_meta_box('trackbacksdiv', 'post', 'normal'); remove_meta_box('commentstatusdiv', 'page', 'normal'); remove_meta_box('commentsdiv', 'page', 'normal'); } add_action('admin_init', 'remove_meta_boxes'); /* ---------------------------------- REMOVE FROM ADMIN BAR -----------------------------------*/ function mytheme_admin_bar_render() { global $wp_admin_bar; $wp_admin_bar->remove_menu('comments'); } add_action('wp_before_admin_bar_render', 'mytheme_admin_bar_render'); /* ---------------------------------------------------------------------- MODIFIER LE LIEN DU LOGO SUR LA BLADE DE CONNEXION À L'INTERFACE ADMIN ------------------------------------------------------------------------*/ function change_login_logo_url($url) { return site_url(); } add_filter('login_headerurl', 'change_login_logo_url'); /* ---------------------------------------------------------------------- GESTION DE LA COLONNE THEMATIQUE DANS LA LISTE DES POSTS CONSEILS ------------------------------------------------------------------------*/ // AJOUT D'UNE COLONNE CUSTOM function add_acf_posts_columns($columns) { global $current_screen; $new_admin_col_arrays = array_slice($columns, 0, 2, true) + array('thematiques_taxo' => 'Thématique') + array_slice($columns, 2, count($columns) - 2, true); return array_merge($new_admin_col_arrays); } add_filter('manage_conseils_posts_columns', 'add_acf_posts_columns'); add_filter('manage_questions_posts_columns', 'add_acf_posts_columns'); add_filter('manage_brochures_posts_columns', 'add_acf_posts_columns'); /* ---------------------------------------------------------------------- CUSTOMISATION DE LA COLONNE POUR AFFICHER : THEMATIQUE PARENT > THEMATIQUE ------------------------------------------------------------------------*/ function handle_posts_custom_columns($column, $post_id) { if ($column != 'thematiques_taxo') { return; } $tax = get_the_terms($post_id, ('thematiques')); $edit_link = esc_url(get_edit_term_link($tax[0]->term_id, 'thematiques', 'conseils')); echo ''; if (isset($tax[0]->parent) && $tax[0]->parent != 0) { $tax_parent = get_term($tax[0]->parent, 'thematiques'); echo $tax_parent->name . " — "; } echo $tax[0]->name; echo ''; } add_action('manage_conseils_posts_custom_column', 'handle_posts_custom_columns', 10, 2); add_action('manage_questions_posts_custom_column', 'handle_posts_custom_columns', 10, 2); add_action('manage_brochures_posts_custom_column', 'handle_posts_custom_columns', 10, 2); /* ------------------------------------------- CREATION DU DROPDOWN SELECT AVEC LES OPTIONS ---------------------------------------------*/ function filter_posts_per_thematique_declare_dropdown() { global $pagenow; $post_type = (isset($_GET['post_type'])) ? $_GET['post_type'] : 'post'; //only add filter to post type you want if ($post_type == 'questions') { $all_thematiques = get_terms([ 'taxonomy' => 'thematiques', 'hide_empty' => true, ]); write_log($all_thematiques); $all_oj_ids = get_posts(array('post_type' => 'oj', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'fields' => 'ids')); $thematiques = get_terms(array('taxonomy' => 'thematiques', 'hide_empty' => true)); ?> query_vars['meta_key'] = 'thematiques_taxo'; // change to meta key created by acf. $query->query_vars['meta_value'] = $_GET['thematiques']; } } // add_filter('parse_query', 'filter_post_by_thematiques_query'); /* ---------------------------------------------------------------------- ADDING CLASS TO ADMIN BODY ------------------------------------------------------------------------*/ function wpdocs_admin_classes($classes) { // if (is_admin()) { // return $classes; // } global $pagenow; global $post; $thematique = get_the_terms(get_the_ID(), 'thematiques')[0] ?? null; $thematiqueParent = getParentThematique($thematique); $thematiqueColorSlug = getThematiqueFamilySlug($thematiqueParent->slug) ?? null; $postType = get_post_type($post->ID); if (in_array($pagenow, array('post.php', 'post-new.php'), true) && $thematiqueColorSlug && ($postType == 'conseils' || $postType == 'questions')) { $classes .= ' ' . $thematiqueParent->slug; } return $classes; } add_filter('admin_body_class', 'wpdocs_admin_classes'); /* ---------------------------------------------------------------------- REORDER ADMIN MENU & POST TYPE ORDER ON MENU BAR ------------------------------------------------------------------------*/ /** * Activates the 'menu_order' filter and then hooks into 'menu_order' */ add_filter('custom_menu_order', function () { return true; }); add_filter('menu_order', 'my_new_admin_menu_order'); /** * Filters WordPress' default menu order */ function my_new_admin_menu_order($menu_order) { // define your new desired menu positions here // for example, move 'upload.php' to position #9 and built-in pages to position #1 $new_positions = array( 'upload.php' => 9, // 'edit.php?post_type=page' => 1, 'edit.php?post_type=conseils' => 1, 'edit.php?post_type=questions' => 2, 'edit.php?post_type=brochures' => 3, 'edit.php?post_type=fiches-infos' => 4, 'edit.php?post_type=vocabulaire' => 5, ); // helper function to move an element inside an array function move_element(&$array, $a, $b) { $out = array_splice($array, $a, 1); array_splice($array, $b, 0, $out); } // traverse through the new positions and move // the items if found in the original menu_positions foreach ($new_positions as $value => $new_index) { if ($current_index = array_search($value, $menu_order)) { move_element($menu_order, $current_index, $new_index); } } return $menu_order; };