Depois de termos divulgado 12 truques para páginas e posts do WordPress, hoje vamos voltar à carga com 10 novos truques, desta feita para usar no Editor de Posts e Páginas também do WordPress. A diferença entre ambos os códigos, é que no primeiro artigo os códigos interferem com o Front-End do WordPress, ou seja, a área que o leitor vê, e estes novos códigos interferem com o Back-End do WordPress, ou seja, o seu painel administrativo. Conforme já mostramos em outros Tutoriais WordPress, existem pequenos truques e dicas para podem ajudá-lo a aumentar o nível de funcionalidade do seu blog facilmente através do ficheiro functions.php, o ficheiro que rege as funcionalidades do seu WordPress. Alguns Temas WordPress já incluem algumas destas funcionalidades que vamos mencionar neste artigo, enquanto que muitos outros não incluem nenhuma delas. Se no seu caso o seu template não inclui estas funcionalidades, está na altura certa para a implementar no seu blog!

function.php do WordPress

1. PERMITIR MAIS TAGS HTML NO EDITOR

Por padrão, o editor de postagens do WordPress não permite mais tags HTML além das que fazem parte do XHTML 1.0 standard. No entanto, se você usar o código seguinte em seu WordPress, ele irá forçar o editor a aceitar mais tags HTML. Copie e cole o seguinte para dentro do ficheiro functions.php do seu template, guarde-o, e a função deverá ficar automaticamente disponível para você usar.

function fb_change_mce_options($initArray) {
	// Comma separated string od extendes tags
	// Command separated string of extended elements
	$ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder|scrolling|marginheight|marginwidth|src]';
	if ( isset( $initArray['extended_valid_elements'] ) ) {
	$initArray['extended_valid_elements'] .= ',' . $ext;
	} else {
		$initArray['extended_valid_elements'] = $ext;
	}

	// maybe; set tiny paramter verify_html
	//$initArray['verify_html'] = false;
	return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');

2. DEFINIR EDITOR PADRÃO (HTML OU VISUAL)

Muitos usuários do WordPress preferem o editor HTML ao editor Visual de postagens. No entanto, o padrão é normalmente o editor Visual. Com este código, você pode definir o editor padrão do seu WordPress para o Visual, ou para o HTML. Copie e cole o seguinte código dentro do ficheiro functions.php do seu template.

# This sets the Visual Editor as default
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );

# This sets the HTML Editor as default
add_filter( 'wp_default_editor', create_function('', 'return "html";') );

Escolha apenas um dos códigos. O primeiro define o Editor Visual como padrão e o segundo define o Editor HTML como padrão. Escolha aquele que mais deseja.

3. DEFINIR DIFERENTES FOLHAS DE ESTILOS PARA O EDITOR

Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template. Com ele você poderá definir diferentes folhas de estilos para o editor, de forma a criar artigos de diferentes estilos. Terá de adaptar o código, dependendo do tipo de posts que deseja criar, e não esqueça de mudar o nome das folhas de estilo também.

function my_editor_style() {
	global $current_screen;
	switch ($current_screen->post_type) {
		case 'post':
		add_editor_style('editor-style-post.css');
		break;

		case 'page':
		add_editor_style('editor-style-page.css');
		break;

		case 'portfolio':
		add_editor_style('editor-style-portfolio.css');
		break;
	}
}
add_action( 'admin_head', 'my_editor_style' );

4. PERMITIR O UPLOAD DE MAIS TIPOS DE FICHEIROS

Se reparar, o sistema de upload do WordPress não lhe permite fazer o upload de alguns tipos de ficheiros, como por exemplo ficheiros .tmCommand do Textmate. Se você precisar carregar esses tipos de ficheiros para o seu blog WordPress, você terá de usar o seguinte código, o qual deverá copiar e colar para dentro do ficheiro functions.php do seu template. Poderá também acrescentar novos tipos de ficheiros na linha 4 do código, separados por (|).

<?php
	function addUploadMimes($mimes) {
	$mimes = array_merge($mimes, array(
		'tmbundle|tmCommand|tmDragCommand|tmSnippet|tmLanguage|tmPreferences' => 'application/octet-stream'
	));
	return $mimes;
   }
?>
add_filter('upload_mimes', 'addUploadMimes');

5. LIGAR O EDITOR TINYMCE PARA OS EXCERTOS

No editor de postagens do WordPress, você tem uma seção para os excertos dos artigos. Não seria interessante ter disponível um editor TinyMCE nessa área para escrever mais facilmente seus textos? Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template WordPress.

function tinymce_excerpt_js(){ ?>
<script type="text/javascript">
	jQuery(document).ready( tinymce_excerpt );
	function tinymce_excerpt() {
	jQuery("#excerpt").addClass("mceEditor");
	tinyMCE.execCommand("mceAddControl", false, "excerpt");
	}
</script>
<?php }
add_action( 'admin_head-post.php', 'tinymce_excerpt_js');
add_action( 'admin_head-post-new.php', 'tinymce_excerpt_js');

function tinymce_css(){ ?>
<style type='text/css'>
	#postexcerpt .inside{margin:0;padding:0;background:#fff;}
	#postexcerpt .inside p{padding:0px 0px 5px 10px;}
	#postexcerpt #excerpteditorcontainer { border-style: solid; padding: 0; }
</style>
<?php }
add_action( 'admin_head-post.php', 'tinymce_css');
add_action( 'admin_head-post-new.php', 'tinymce_css');

6. NOVOS FORMATOS DE POSTAGENS

Com o seguinte código você pode ligar diferentes formatos de postagens como por exemplo audio, imagens, video, etc., diretamente no seu editor de posts do WordPress. Copie e cole o seguinte código dentro do ficheiro functions.php do seu template.

add_theme_support( 'post-formats', array( 'aside', 'audio', 'image', 'video' ) );

7. CRIAR MENSAGENS DE ESTADOS PARA POSTAGENS

Este truque foi desenvolvido por um programador com o intuito e um cliente seu mostrar mensagens personalizadas no editor de postagens do WordPress, para que os seus autores pudessem ver mensagens do tipo rejeitadoerrofontefinal, etc. Você pode alterar as mensagens por baixos dos comentários no código, e não esqueça de mudar também os nomes das classes. Copie e cole esse código no ficheiro functions.php do seu template.

add_filter('display_post_states', 'custom_post_state');
function custom_post_state($states) {
  global $post;
  $show_custom_state = get_post_meta($post->ID, '_status');
  if ($show_custom_state) {
  	$states[] = __('<span class="custom_state ' . strtolower($show_custom_state[0]) . '">' . $show_custom_state[0] . '</span>');
  }
  return $states;
}
add_action('post_submitbox_misc_actions', 'custom_status_metabox');

function custom_status_metabox() {
    global $post;
    $custom = get_post_custom($post->ID);
    $status = $custom["_status"][0];
    $i = 0;
    /* ----------------------------------- */
    /*   Array of custom status messages            */
    /* ----------------------------------- */
    $custom_status = array('Spelling', 'Review', 'Errors', 'Source', 'Rejected', 'Final', );
    echo '<div class="misc-pub-section custom">';
    echo '<label>Custom status: </label><select name="status">';
    echo '<option class="default">Custom status</option>';
    echo '<option>-----------------</option>';
        for ($i = 0; $i < count($custom_status); $i++) {
        if ($status == $custom_status[$i]) {
            echo '<option value="' . $custom_status[$i] . '" selected="true">' . $custom_status[$i] . '</option>';
        } else { echo '<option value="' . $custom_status[$i] . '">' . $custom_status[$i] . '</option>'; }
    }

    echo '</select>';
    echo '<br /></div>';
}
add_action('save_post', 'save_status');

function save_status() {
    global $post;
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
    	return $post->ID;
    }
    update_post_meta($post->ID, "_status", $_POST["status"]);
}
add_action('admin_head', 'status_css');

function status_css() {
    echo '<style type="text/css">
    .default{<a href="http://www.hongkiat.com/blog/out/fonts" style="" target="_blank" rel="nofollow" onmouseover="self.status='http://www.hongkiat.com/blog/out/fonts';return true;" onmouseout="self.status=''">font</a>-weight:bold;}
    .custom{border-top:solid 1px #e5e5e5;}
    .custom_state{
    font-size:9px;
    color:#666;
    background:#e5e5e5;
    padding:3px 6px 3px 6px;
    -moz-border-radius:3px;
    }
    /* ----------------------------------- */
    /*   change color of messages below            */
    /* ----------------------------------- */
    .spelling{background:#4BC8EB;color:#fff;}
    .review{background:#CB4BEB;color:#fff;}
    .errors{background:#FF0000;color:#fff;}
    .source{background:#D7E01F;color:#333;}
    .rejected{background:#000000;color:#fff;}
    .final{background:#DE9414;color:#333;}
    </style>';
}

8. DEFINIR DIMENSÃO MÁXIMA DO TÍTULO

Adicionando este código PHP ao seu ficheiro functions.php você pode limitar o número máximo de caracteres do título das suas postagens. Isso é ideal para layouts que estejam personalizados com título de dimensões fixas ou para não criar títulos demasiado grandes para seus artigos!

function maxWord($title){
	global $post;
	$title = $post->post_title;
	if (str_word_count($title) >= 10 ) //set this to the maximum number of words
	wp_die( __('Error: your post title is over the maximum word count.') );
}
add_action('publish_post', 'maxWord');

9. MUDAR A FONTE DO EDITOR DE POSTAGENS

Não gosta da fonte usada pelo editor de artigos do WordPress? É possível você mudar essa fonte para tipos de letras mais elegantes como a Monaco ou a Consolas. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template.

function change_editor_font(){
	echo "<style type='text/css'>
	#editorcontainer textarea#content {
		font-family: Monaco, Consolas, \"Andale Mono\", \"Dejavu Sans Mono\", monospace;
		font-size:14px;
		color:#333;
		}
	</style>";
}
add_action("admin_print_styles", "change_editor_font");

10. DESLIGAR AUTO SAVE DE POSTAGENS

Se por alguma razão não pretende que o seu WordPress esteja constantemente salvando seus artigos, você poderá desligar a opção Auto Save do editor de postagens do WordPress também. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template:

function disableAutoSave(){
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );

MAIS TRUQUES PARA O SEU WORDPRESS

Está procurando mais truques para implementar no seu blog WordPress? Nós temos mais:

Até Já!

Autor: Paulo Faustino

Blog do Autor | Artigos do Autor:

Fundador da Escola Dinheiro. É um empreendedor e blogueiro que dedica a sua vida à produção e partilha de conteúdos de grande qualidade, contando já com alguns dos mais reconhecidos blogs de Portugal e do Brasil.

Templates Wordpress que Recomendamos:

  • U-Design WordPress Theme
  • Tersus - Responsive WordPress Theme
  • Modernize - Flexibility of Wordpress
  • Good Space - Responsive Minimal WP Theme
  • Sterling - Responsive Wordpress Theme
  • Karma - Clean and Modern Wordpress Theme
  • Doover Premium WordPress Theme
  • MayaShop - A Flexible Responsive e-Commerce Theme
  • SmartStart WP - Responsive HTML5 Theme
  • Striking Premium Corporate & Portfolio WP Theme
  • Core Minimalist Photography Portfolio
  • King Size - fullscreen background WordPress theme

Gostou deste artigo? Então torne-se fã do Blog no Facebook!


WooThemes - WordPress themes for everyone

Comentários dos Alunos


  1. Rick
    01.11.2011

    Ótimo! Mas essa de desligar o auto save eu nunca vou usar hehehe. Já me “Salvou” muita coisa que podia ter perdido.

    Responder


  2. Vitor Constantino
    02.11.2011

    Muito Bom o Artigo.
    É por isso e que o site e bom, pelos snipetts yah yah yahhh!

    Responder


  3. Anderson
    09.02.2012

    Paulo a número 8, seria para todos os títulos?

    Porque, manipulando a função the_title(); nas linhas 43 até a 55 do ficheiro post-template.php que encontra-se dentro da pasta wp-includes, podemos também fazer a escolha de quantidade de caractéres que devem ser mostrados nos títulos das postagens, porém com mais vantagem, pois não seria para todos os títulos, apenas para os quais utilizarem a função the_title(); modificada omo abaixo.

    Manipulação:

    Ficheiro wp-includes/post-template.php
    Linhas a partir da 43 até a 55

    [code]
    function the_title(
    $before = '',
    $after = '',
    $echo = true,
    $length = false)
    { $title = get_the_title();
    if ( $length && is_numeric($length) )
    { $title = substr( $title, 0, $length ); }
    if ( strlen($title) > 0 )
    {
    $title = apply_filters('the_title', $before . $title . $after, $before, $after);
    if ( $echo ) echo $title; else return $title; }
    }
    [/code]

    Utilização da função:
    [code]...[/code]
    30 = número de caractéres a serem mostrados

    Responder


    • Anderson
      09.02.2012

      Correção do que não apareceu no final:

      the_title(”, ”, true, ’30′)

      Responder

Comente o Artigo!

RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
11485

Subscrever Newsletter
Subscreva a Newsletter:


Elegant Themes

Wix

Theme Forest

Mojo Themes



Assine a Escola Wordpress Assine a Newsletter da Escola Wordpress Escola Wordpress no Twitter Escola Wordpress no Facebook Escola Wordpress no Youtube Escola Wordpress no Google Buzz