Suporte » Temas » Shortcode no single.php e page.php

  • Resolvido Williamhm

    (@williamhm)


    Coloquei um slide no header, quando vou para a pagina inicial, index.php, ela aparece normalmente mais quando clico em algum post ou pagina, o slide não aparece.
    Coloquei o slide como widget, é como se a página single.php e page.php não tenha suporte ao shortcode ou o widget.
    Será que é alguma função da página functions.php que permite a visualização do shortcode apenas na index?

    OBS: estou fazendo o template em cima do tema twenty.

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • Já tentasse colocar o shortcode no single.php?
    Acho que o problema não está nas funções :/
    É que sem ver os códigos tambem fica dificil de saber!

    O Slide é um plugin?
    Dependendo do que você quiser fazer da pra usar o Nivo Slider for WordPress, sempre uso e acho muito bom.

    Eu criei um widget e coloquei no header para que apareça em todas páginas, mas o problema é que o espaço fica em branco somente na página post.php e single.php, por isso não tem como colocar o shortcode em cada uma delas.

    Sim, o slide é um plugin.

    Eu estava desenvolvendo um template do zero e deu esse mesmo problema, estão resolvi editar o Twenty ten e deu certo, mais não no post e single.php.

    Se é um widget tente usá-lo na sidebar e vê se funciona.
    Se não funcionar uma opção é baixar o plugin Nivo Slider for WordPress, é bem simples de usar e prático …

    Para usá-lo no header use a seguinte chamada:

    <?php if (function_exists(‘nivoslider4wp_show’)) { nivoslider4wp_show(); } ?>

    Quase 100% que vai funcionar.

    Ou então cole aqui o código do widget e do header pra mim dar uma olhada!

    Ja tentei colocar na sidebar mais não consegui colocar no topo do site

    Header

    <?php
    /**
     * The Header for our theme.
     *
     * Displays all of the <head> section and everything up till <div id="main">
     *
     * @package WordPress
     * @subpackage Twenty_Ten
     * @since Twenty Ten 1.0
     */
    ?><!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    <head>
    <meta charset="<?php bloginfo( 'charset' ); ?>" />
    <title><?php
    	/*
    	 * Print the <title> tag based on what is being viewed.
    	 */
    	global $page, $paged;
    
    	wp_title( '|', true, 'right' );
    
    	// Add the blog name.
    	bloginfo( 'name' );
    
    	// Add the blog description for the home/front page.
    	$site_description = get_bloginfo( 'description', 'display' );
    	if ( $site_description && ( is_home() || is_front_page() ) )
    		echo " | $site_description";
    
    	// Add a page number if necessary:
    	if ( $paged >= 2 || $page >= 2 )
    		echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );
    
    	?></title>
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
    <?php
    	/* We add some JavaScript to pages with the comment form
    	 * to support sites with threaded comments (when in use).
    	 */
    	if ( is_singular() && get_option( 'thread_comments' ) )
    		wp_enqueue_script( 'comment-reply' );
    
    	/* Always have wp_head() just before the closing </head>
    	 * tag of your theme, or you will break many plugins, which
    	 * generally use this hook to add elements to <head> such
    	 * as styles, scripts, and meta tags.
    	 */
    	wp_head();
    ?>
    </head>
    
    <body <?php body_class(); ?>>
    <div id="barra-top">
    	<div id="barra-top-texto">
    		<?php the_time('j \d\e F \d\e Y') ?>
    	</div>
    </div>
    <div id="header-logo">
    	<div id="header-texto"></div>
    </div>
    <div id="menu_hd">
    	<div id="menu_texto">
    			<div id="access" role="navigation">
    			  <?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>
    				<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>"><?php _e( 'Skip to content', 'twentyten' ); ?></a></div>
    				<?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ ?>
    				<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
    			</div><!-- #access -->
    	</div>
    
    </div>
    			<div id="slide">
    				<div id="slide_ct">
    				<?php dynamic_sidebar( 'slide' ); ?>
    				</div>
    			</div>
    	<div id="main">

    Widget

    // Area Slide, located at the top of the sidebar.
    	register_sidebar( array(
    		'name' => __( 'Slide', 'twenty' ),
    		'id' => 'slide',
    		'description' => __( 'Area do slide', 'twenty' ),
    		'description' => __( 'The primary widget area', 'twentyten' ),
    		'before_widget' => '<h1 id="%1$s" class="widget-container %2$s">',
    		'after_widget' => '</li>',
    		'before_title' => '<h3 class="widget-title">',
    		'after_title' => '</h3>',
    
    	) );

    em “before_widget” troquei li por h1 pois estava aparecendo como texto.

    – Qual o plugin de slide que você usa?

    – Você já usou a opção de inspencionar elemento para verificar o espaço em branco? Tente digitar algum texto dentro da area do slider no header.php e veja como ele se porta nas páginas onde não aparece.

    – Você está fazendo isso em algum servidor local? Caso o site esteja online me passe o link, ou então algum print!

    – Se você trocou o before_widget por h1, tem que trocar o after_widget também.

    O problema é que não entendo porque não aparece somente nestas paginas

    /* Registando sidebar slide*/
        register_sidebar( array(
            'name' => 'Slide',
            'id' => 'slide',
            'description'   => 'Area do slider',
            'before_widget' => '<li class="widget-sidebar">',
            'after_widget' => '</li>',
            'before_title' => '<h4>',
            'after_title' => '</h4>',
        ) );

    Deixe o código do widget assim, ai você vai poder usar ele em qualquer tema!
    Primeiro teste com “li” aí depois se preferir substitua por “h1”, (before_widget e after_widget)

    Problema resolvido, não era o código que estava com problema e sim uma opção do plugin, era só ativar a caixa Preload skin, o plugin é configurado para aparecer somente em uma página, quando abilito esta caixa, aparece onde eu inserir o shortcode, obrigado pela ajuda P. Bonot.

    Hahaha, Disponha!!

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • O tópico ‘Shortcode no single.php e page.php’ está fechado para novas respostas.