Suporte » Plugins » [Plugin] Funções adicionais ao functions.php

  • Resolvido kraudio

    (@kraudio)


    Bom dia a todos, sempre que tenho um novo projeto e preciso de alguma função extra, vou la e começo a editar o functions.php e ir colocando o que preciso(que se torna um pouco incomodo, já que nem sempre tenho os códigos todos juntos). Hoje li um artigo Ayudawordpress que gostei muito.

    Bom, qual é minha idéia colocando este post aqui? compartilhar e atribuir mais funções ao plugin.

    Sem mais conversa, segue o plugin(mantive os créditos do autor).

    <?php
    /*
    Plugin Name: Funciones
    Plugin URI: http://ayudawordpress.com/
    Description: Plugin para liberar de funciones el fichero <code>functions.php</code> y activarlo a placer (o no) .
    Version: 1.0
    Author: Fernando Tellado
    Author URI: http://tellado.es
    License: GPLv2 o posterior
    */
    
    // Logo personalizado en login
    
    add_action("login_head", "my_login_head");
    function my_login_head() {
    	echo "
    	<style>
    	body.login #login h1 a {
    		background: url('".get_bloginfo('template_url')."/images/awloginlogo.png') no-repeat scroll center top transparent;
    		height: 135px;
    		width: 135px;
    	}
    	</style>
    	";
    }
    
    // personalizar url logo acceso
    add_action( 'login_headerurl', 'my_custom_login_url' );
    function my_custom_login_url() {
    return 'http://ayudawordpress.com';
    }
    
    //Cambiar texto alt del logo de login
    add_action("login_headertitle","my_custom_login_title");
    function my_custom_login_title()
    {
    return 'Otro sitio creado por Fernando Tellado';
    }
    
    // Añadir campos sociales a los perfiles y elimina (unset) los inútiles
    function add_redessociales_contactmethod( $contactmethods ) {
      // Añade Twitter
      $contactmethods['twitter'] = 'Twitter';
      // Añade Facebook
      $contactmethods['facebook'] = 'Facebook';
      // Quita Yahoo, IM, AIM y Jabber
      unset($contactmethods['yim']);
      unset($contactmethods['aim']);
      unset($contactmethods['jabber']);
      return $contactmethods;
    }
    add_filter('user_contactmethods','add_redessociales_contactmethod',10,1);
    
    // Añadir nuevos tipos de archivo para subir
     add_filter ( 'upload_mimes' , 'masMimes' ) ;
     function masMimes ( $mimes )
     {
    	 $mimes = array_merge ( $mimes , array (
    		 'pages|numbers|key' => 'application/octet-stream'
    	 ) ) ;
    
    	 return $mimes ;
     } 
    
    // Cambiar texto de pie de página en el escritorio
    function remove_footer_admin () {
        echo "Este sitio está administrado por mi mismo y mi mecanismo";
    } 
    
    add_filter('admin_footer_text', 'remove_footer_admin'); 
    
    //quitar menus de admin
    //function quitar_menus () {
    //global $menu;
    //		$restricted = array( __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
    //		end ($menu);
    //		while (prev($menu)){
    //			$value = explode(' ',$menu[key($menu)][0]);
    //			if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
    //		}
    //}
    //add_action('admin_menu', 'quitar_menus');
    
    // añade enlaces/menús a la barra de admin
    function mytheme_admin_bar_render() {
    	global $wp_admin_bar;
    	if ( !is_super_admin() || !is_admin_bar_showing() )
            return;
    	$wp_admin_bar->add_menu( array(
    		'parent' => 'comments', // usa 'false' para que sea un menú superior o sino indica el ID del menú superior
    		'id' => 'false', // ID del enlace, por defecto debe ser un valor de título
    		'title' => __('Disqus'), // título del enlace
    		'href' => admin_url( 'edit-comments.php?page=disqus') // hombre del archivo al que enlaza, en mi caso disqus
    	));
    }
    add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );
    
    //permalinks canónicos
    function set_canonical() {
      if ( is_single() ) {
    	global $wp_query;
    	echo '<link rel="canonical" href="'.get_permalink($wp_query->post->ID).'"/>';
      }
    }
    add_action('wp_head', 'set_canonical');
    
    //soporte de Twitter oEmbed
    add_filter('oembed_providers','twitter_oembed');
    function twitter_oembed($a) {
    	$a['#http(s)?://(www\.)?twitter.com/.+?/status(es)?/.*#i'] = array( 'http://api.twitter.com/1/statuses/oembed.{format}', true);
    	return $a;
    }
    
    //distinto color segun estado de entrada
    function posts_status_color() {
    ?>
      <style>
      .status-draft { background: #FCE3F2 !important; }
      .status-pending { background: #87C5D6 !important; }
      .status-publish { /* por defecto */ }
      .status-future { background: #C6EBF5 !important; }
      .status-private { background: #F2D46F; }
      </style>
    <?php
    }
    add_action('admin_footer','posts_status_color');
Visualizando 16 resposta (de um total de 16)
Visualizando 16 resposta (de um total de 16)
  • O tópico ‘[Plugin] Funções adicionais ao functions.php’ está fechado para novas respostas.