Respostas no Fórum

Visualizando 15 respostas - 16 até 30 (de um total de 47)
  • Movendo para plugins e hacks

    Fórum: Temas
    Em resposta a: Mudando a sidebar

    Opa,

    Quando você registra sua sidebar, vc pode escolher em qual elemento html cada widget ficará definindo as propriedades before_widget e after_widget.

    Veja: http://codex.wordpress.org/Function_Reference/register_sidebar

    Mas não precisa ser uma div pra ter esse efeito “separado” como você quer. É só uma questão de css, então to movendo esse tópico pra seção de Temas e Templates.

    Leo,,

    oi Raphael,

    a função é a add_image_size()

    http://codex.wordpress.org/Function_Reference/add_image_size

    <?php add_image_size( $name, $width, $height, $crop ); ?>

    Exemplo:

    add_theme_support( 'post-thumbnails' );
    
    add_image_size( 'slide', 200, 200 );
    add_image_size( 'coluna', 220, 180, true );

    E depois vc pode chamar esses tamanhos pelo nome:

    the_post_thumbnail( 'slide' );
    ou
    echo wp_get_attachment_image($attachment_id, 'slide');

    Leo,,

    Olá,

    Você pode mudar a URL base das categorias em Opções > Links Permanentes. Colocando alguma coisa no campo “Base da categoria” (Category base).

    Desse jeito vc pode mudar o /category/ por /editoria/ por exemplo.

    Para tirar isso totalmente e criar regras personalizadas de URL, dê uma olhada nesse post:

    http://wp-brasil.org/dicas-e-tutoriais/tutoriais/wordpress-rewrite-rules

    Leo,,

    oi Cristiano,

    Não tem segredo nenhum. Faz a query direto.. pode ser algo assim:

    $posts_do_guia = $wpdb->get_results(“SELECT * FROM guia_posts ORDER BY post_date DESC LIMIT 10”)

    Leo,,

    Salve Ronaldy,

    Aqueles widgets não estão disponíveis porque eles são muito específicos para o catraca e precisaria ainda de muito trabalho para deixa-los genericos o suficiente para ser um plugin publico..

    Mas de qq maneira ponho aqui o código base deles pra que possa servir de base pra quem quiser fazer widgets parecidos.. (Vc ainda vai precisar fazer CSS pra ele)

    abs

    <?php
    
    class Category_home extends WP_Widget {
    	function Category_home() {
    		$widget_ops = array('classname' => 'category_home', 'description' => 'Destaques de 1 Categoria em 1 coluna' );
    		parent::WP_Widget('category_home', '1 Categoria', $widget_ops);
    	}
    
    	function widget($args, $options) {
    
            global $wpdb;
            ?>
                <link rel="stylesheet" href="<?php echo WP_CONTENT_URL; ?>/themes/eletro/includes/widget_categories/category-widget.css" type="text/css" media="screen" />
            <?php
            extract($args);
    
    		if (!is_array($options) || !isset($options['cat']))
                return;
    
            $posts = new WP_Query('cat=' . $options['cat'] . '&orderby=date&order=DESC&showposts='.$options['numPosts'].'&offset='.$options['offset']);
    
    		echo ' <div class="category-widget">';
    	        if ($posts->have_posts()) {
    	        	$cat = get_category($options['cat']);
    	        	$parent_category = get_category($cat->parent);
    
                    $css_class = $cat->slug;
    	        	if($options['showCatName']=='sim'){
    	        		echo "<div class='widget_title'>";
    	        			echo '<h1 style="border-bottom: 4px solid ' . $options['color'] . ';"><a href=" '. get_category_link($cat->term_id) . '"  style="color:' . $options['color'] . '">'. $cat->name .'</a></h1>';
    	        		echo "</div>";
    	        	}
    
    	        	$i = 0;  
    
    	            while ($posts->have_posts()) :
    		            $posts->the_post();
    
                        $id = get_the_ID();
                        $query = "SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND post_parent='$id' AND menu_order='1'" ;
                        $attachments = $wpdb->get_results($query);
                        if(empty($attachments[0]->ID)) {
                            $query = "SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND post_parent='$id' AND menu_order='0'" ;
                            $attachments = $wpdb->get_results($query);
                        }
    	                if ($options['withPicture']) echo wp_get_attachment_image( $attachments[0]->ID , 'full');
    			        echo  '<h2><a href="'.get_permalink().'">';
                            the_title();
    	                echo  '</a></h2>';
    	                if ($options['showPostText']) echo '<p>' . the_excerpt() . '</p>';
    	                $i ++;
    	            endwhile;
    
    	        }
    	     echo ' </div>';
    
    	}
    
    	function form($options) {
            echo '<div class="eletro_widgets_control_row">';
    
                echo '<h3>Configurações da categoria</h3>';
    
                echo '<p>';
                    echo '<label for="' . $this->get_field_name('cat') . '">Selecione a categoria: </label>';
                            wp_dropdown_categories(array(
         		               'order' => 'ASC',
         		               'name' => $this->get_field_name('cat'),
         		               'selected' => $options['cat'],
         		               'id' => 'cat',
         		           ));
                echo '</p>';
    
                $showCatName = ($options['showCatName'] == 'sim') ? 'checked' : '';
    
                echo '<p>';
                    echo "<input type='checkbox' value='sim' $showCatName name='{$this->get_field_name('showCatName')}' id='{$this->get_field_name('showCatName')}' />";
                    echo "<label for='" . $this->get_field_name('showCatName') . "'>Exibir nome das categorias</label>";
                echo '</p>';
    
                echo "<p>
    				<label for='" . $this->get_field_name('color') . "'>
    					Cor do título:<input name='" . $this->get_field_name('color') . "' value='{$options['color']}' />
    				</label>
    			</p>";
    
            echo '</div>';
    
            echo '<div class="eletro_widgets_control_row">';
    
                echo '<h3>Configurações dos posts</h3>';
    
                $numSelected = array($options['numPosts'] => 'selected');
    
                echo '<p>';
                    echo '<label for="' . $this->get_field_name('numPosts') . '">Nº de posts: </label>';
                    echo '<select id="' . $this->get_field_name('numPosts') . '" name="' . $this->get_field_name('numPosts') . '">';
                        for ($i=1; $i<11; $i++) {
        	                echo "<option value='$i' {$numSelected[$i]}>$i</option>";
        	            }
    	            echo '</select>';
    
    	            echo "<label  for='" . $this->get_field_name('offset') . "'>Pular</label>";
                    echo "<input type='text' size='1' value='{$options['offset']}'  name='{$this->get_field_name('offset')}' id='{$this->get_field_name('offset')}' />posts";
                echo '</p>';
    
                $withPicture = ($options['withPicture'] == 'sim') ? 'checked' : '';
                echo "<p>";
                    echo "<input type='checkbox' value='sim'  $withPicture id='{$this->get_field_name('withPicture')}'  name='{$this->get_field_name('withPicture')}' />";
                    echo "<label for=\"{$this->get_field_name('withPicture')}\">Exibir Imagem</label>";
                echo "</p>";
    
                $showPostText = ($options['showPostText'] == 'sim') ? 'checked' : '';
    
                echo "<p>";
                    echo "<input type='checkbox' value='sim'  $showPostText id='{$this->get_field_name('showPostText')}'  name='{$this->get_field_name('showPostText')}' />";
                    echo "<label for=\"{$this->get_field_name('showPostText')}\">Exibir texto do post</label>";
                echo "</p>";
    
            echo '</div>';
    
            if(!isset($options['offset']) || $options['offset'] < 1)
                $options['offset'] = 0;
    
        }
    
    	function update($new_instance, $old_instance){
    
        	if(!isset($new_instance['showPostText'])){
        		$new_instance['showPostText'] = 'não';
        	}
    
    	    if(!isset($new_instance['showCatName'])){
                $new_instance['showCatName'] = 'não';
            }
    
        	if(!isset($new_instance['offset']) )
              $new_instance['offset'] = 0;
        	return $new_instance;
    
        }
    
    } // WIDGET Category_home END
    
    function widget_category_home_register() {
    	register_widget("Category_home");
    }
    
    add_action('widgets_init', 'widget_category_home_register');
    
    ?>

    tenta:

    echo strip_tags(get_the_content());

    ou

    echo strip_tags($post->post_content);

    Na segunda opção não é aplicado os filtros ‘the_content’, que colocam tags P e processam os shortcodes.. entre outras coisas

    Se vc tiver em uma listagem de categoria vc pode usar:

    get_query_var(‘cat’)

    Fórum: Desenvolvendo com WordPress
    Em resposta a: Meta Box

    Nesta página você tem um exemplo completo de como fazer isso:

    http://codex.wordpress.org/Function_Reference/add_meta_box

    Leo,,

    Pra fazer isso no widget é melhor criar novos objetos WP_Query do que ficar chamando o query_posts direto.

    Quando vc chama o query_posts você está sobrescrevendo a query original do WordPress, ou a última que você fez. Isso pode dar alguns resultados inesperados algumas horas.

    Para fazer uma nova query e um loop independente, faça assim:

    $leftPosts = new WP_Query(...opcoes...);
    
            if ($leftPosts->have_posts()) {
    
                while ($leftPosts->have_posts()) :
                    $leftPosts->the_post();
    	            the_title();
    	            ...
                endwhile;
            }

    Desse jeito você pode inclusive fazer todas as queries primeiro e depois intercalar elas no codifgo como quiser…

    abs

    Uma possibilidade é q o usuário que vc está usando não tem permissão para o painel do segundo blog. Confere isso

    nao sei se vai funcionar, mas tenta colocar o nome dos selects como “s[]”, ao inves de só “s”

    e depois diz aqui se funciona.

    abs

    Acho que você consegue fazer isso com o RoleScoper.

    Mas nunca usei, não sei se é tão dinâmico.. (pro próprio cliente ir criando mais áreas privadas facilmente)

    De qualquer maneira é bem tranquilo desenvolver isso usando o esquema de Roles e Capabilities nativo do WordPress

    Leo,,

Visualizando 15 respostas - 16 até 30 (de um total de 47)