array( 'label' => 'Canal Ciência' ), 'ilustracoes'=> array( 'label' => 'Ilustrações' ), 'paginas'=> array( 'label' => 'Páginas' ), 'componentes'=> array( 'label' => 'Componentes' ), ); foreach ( $block_pattern_categories as $name => $properties ) { if ( ! WP_Block_Pattern_Categories_Registry::get_instance()->is_registered( $name ) ) { register_block_pattern_category( $name, $properties ); } } } add_action( 'init', 'cc_block_patterns' ); /** * Adiciona estilos para o bloco de botão * */ function cc_block_styles() { register_block_style( 'core/button', array( 'name' => 'cc-btn-text', 'label' => __( 'Text button', 'tema-canal-ciencia' ), 'style_handle' => 'blockbase-child-styles', ) ); register_block_style( 'core/button', array( 'name' => 'cc-btn-more', 'label' => __( 'More button', 'tema-canal-ciencia' ), 'style_handle' => 'blockbase-child-styles', ) ); register_block_style( 'core/button', array( 'name' => 'cc-btn-tonal', 'label' => __( 'Tonal button', 'tema-canal-ciencia' ), 'style_handle' => 'blockbase-child-styles', ) ); } add_action( 'init', 'cc_block_styles' ); /** * Retorna um link para a página mãe da página atual * */ function cc_get_parent_link($class = 'has-cc-blue-70-color') { global $post; if ( $post->post_parent ) { $parent_link = ''. get_the_title( $post->post_parent ).''; return $parent_link; } } /** * Cria um shortcode que retorna um link para a página mãe da atual * */ function cc_parent_link_shortcode($atts) { $default = array ( 'class' => 'has-cc-blue-70-color', 'markup' => null ); $a = shortcode_atts($default,$atts); if( is_null($a['markup']) ) { $output = cc_get_parent_link(esc_attr( $a['class'] )); } else { $output = '<' . esc_attr( $a['markup'] ). ' class="cc-parent-link">' . cc_get_parent_link(esc_attr( $a['class'] )) . '' ; } return $output; } function cc_shortcodes_init() { add_shortcode('parent_link','cc_parent_link_shortcode'); } add_action('init', 'cc_shortcodes_init'); /** * Retorna a área do conhecimento * */ function cc_get_area_do_conhecimento() { $areaDoConhecimento = isset($_GET['area-do-conhecimento']) ? sanitize_text_field($_GET['area-do-conhecimento']) : ''; return $areaDoConhecimento; } /** * Registra block bindings * */ function cc_register_block_bindings() { register_block_bindings_source( 'tema-canal-ciencia/user-data', array( 'label' => __( 'User data', 'tema-canal-ciencia' ), 'get_value_callback' => 'cc_user_data_bindings' ) ); } add_action( 'init', 'cc_register_block_bindings' ); function cc_user_data_bindings( $source_args ) { // Get the user ID. $user_id = get_current_user_id(); $user_info = get_userdata( $user_id ); // If no key or user ID argument is set, bail early. if ( ! isset( $source_args['key'] ) || !( $user_id ) ) { return null; } // Return null if there's no user ID at all. if ( 0 >= $user_id ) { return null; } // Return the data based on the key argument. switch ( $source_args['key'] ) { case 'name': return esc_html( get_the_author_meta( 'display_name', $user_id ) ); case 'description': return get_the_author_meta( 'description', $user_id ); case 'avatar': return esc_url( get_avatar_url( $user_id ) ); case 'email': return $user_info->user_email; case 'login': return $user_info->user_login; case 'firstname': return $user_info->first_name; case 'lastname': return $user_info->last_name; default: return null; } } /** * Remove as páginas dos resultados da busca do WP * * @param object $query The main WordPress query. */ function cc_exclude_pages_from_search_results( $query ) { if ( $query->is_main_query() && $query->is_search() && ! is_admin() ) { $query->set( 'post_type', array( 'post' ) ); } } add_action( 'pre_get_posts', 'cc_exclude_pages_from_search_results' ); /** * Remove opções do perfil * */ /** * Remove link para dashboard do menu do admin * */ function cc_remove_dashboard_menu() { remove_menu_page( 'index.php' ); } /** * Remove link para página Sobre o Wordpress da barra do admin * */ function cc_remove_wp_logo_from_admin_bar($wp_admin_bar) { $wp_admin_bar->remove_node('wp-logo'); } /** * Remove a aba de ajuda da barra do admin * */ function cc_remove_help_tab() { $screen = get_current_screen(); $screen->remove_help_tabs(); } /** * Remove opção do avatar e senhas de aplicativos do painel do perfil do usuário * */ function cc_remove_profile_options() { add_filter( 'option_show_avatars', '__return_false' ); add_filter( 'wp_is_application_passwords_available_for_user', '__return_false' ); } function cc_remove_personal_options( $subject ) { $subject = preg_replace('#

'.__("Personal Options").'

#s', '', $subject, 1); // Remove the "Personal Options" title $subject = preg_replace('#'.__("Contact Info").'#s', '', $subject, 1); // Remove the "Contact Info" title $subject = preg_replace('#'.__("About Yourself").'#s', '', $subject, 1); // Remove the "About Yourself" title $subject = preg_replace('#' ); echo '
' . $header; } function cc_login_footer () { $footer = do_blocks( '' ); echo '
' . $footer; } function cc_login_welcome_message() { $welcome_message = do_blocks( '

Cadastre-se

Você poderá participar do nosso sistema de conquistas!

Queremos tornar sua experiência no Canal Ciência mais divertida. Ao completar uma série de tarefas em nosso portal, você poderá ganhar recompensas virtuais, como medalhas, patentes e pontos! Saiba mais em Jornada Galáctica ou comece agora mesmo, criando uma conta ao lado.

' ); echo $welcome_message; } /** * Register and Enqueue/dequeue styles and scripts at wp-login. * */ function cc_dequeue_login_styles() { wp_dequeue_style('login'); } function cc_enqueue_login_styles() { wp_enqueue_style('login_css', get_stylesheet_directory_uri() . '/assets/login.css',array(), false); } if( isset($_SERVER['HTTP_SEC_FETCH_DEST']) && $_SERVER['HTTP_SEC_FETCH_DEST'] !== 'iframe' ) { add_action( 'login_enqueue_scripts', 'cc_dequeue_login_styles', 1); add_action('login_enqueue_scripts', 'wp_enqueue_global_styles',5); add_action('login_enqueue_scripts', 'blockbase_scripts',5); add_action('login_enqueue_scripts', 'cc_enqueue_theme_bs_styles',10); add_action('login_enqueue_scripts', 'cc_enqueue_scripts',15); add_action('login_enqueue_scripts', 'cc_enqueue_login_styles',1); add_action('login_header', 'cc_login_header',5); if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'register') { add_action('login_header', 'cc_login_welcome_message',10); } add_action('login_footer', 'cc_login_footer'); } /** * Altera ordem de exibição padrão das páginas no wp-admin * */ function set_post_order_in_admin( $wp_query ) { global $pagenow; if ( is_admin() && 'edit.php' == $pagenow && !isset($_GET['orderby'])) { $wp_query->set( 'orderby', 'parent' ); $wp_query->set( 'order', 'ASC' ); } } add_filter('pre_get_posts', 'set_post_order_in_admin', 5 ); /** * Remove a estrutura personalizada de links permanentes dos CPTs do GamiPress * */ function cc_update_permalink_structure($args, $post_type) { if ($post_type == 'patente'|| $post_type == 'medalha-da-terra') { $args[ 'rewrite']['with_front'] = false; } return $args; } add_filter('register_post_type_args', 'cc_update_permalink_structure', 10, 2); /** * Desativa os arquivos dos CPTs do GamiPress * */ function cc_deactivate_gamipress_cpt_archives($args, $post_type) { if ($post_type == 'patente'|| $post_type == 'medalha-da-terra') { $args['has_archive'] = false; } return $args; } add_filter('register_post_type_args', 'cc_deactivate_gamipress_cpt_archives', 10, 2); /** * Adiciona classe de CSS com o slug da página ao elemento body * */ function cc_body_class( $classes ) { $class_name = get_post_field( 'post_name', get_post() ); return array_merge( $classes, array( $class_name ) ); } add_filter( 'body_class', 'cc_body_class' );