Pergunta sobre desenvolvimento com WordPress por WordPress: área de widget personalizada no cabeçalho

Um usuário perguntou ?

Olá! Sou novo em php e preciso de ajuda. Eu criei um novo widget no cabeçalho do meu tema filho puramente simples. Para fazer isso, adicionei isso ao cabeçalho:

E na função:

if (function_exists (‘register_sidebar’)) register_sidebar (array (‘name’ => ‘My Widget’, ‘before_widget’ => ‘

‘,’ after_widget ‘=>’

‘,’ before_title ‘=>’

‘,’ after_title ‘=>’

‘,)); ?> O novo widget é criado e posso encontrá-lo na parte de trás do meu site. Neste widget eu coloquei meus flags de polígono, mas ele criou uma seção vazia no cabeçalho (quero que fique do lado direito com alinhamento vertical), nesta parte vazia todos os flags funcionam corretamente, mas se eu tentar soft via SEC apenas o idioma italiano está disponível, as outras bandeiras estreitam seu link… O que posso fazer? Por favor e obrigado! Paula

(@swansonphotos)

3 anos, 1 mês atrás

Acho que o problema está dentro:


<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(“My Widget”) ) : ?>
<?php endif;?>

Veja isso para obter dicas sobre a melhor maneira de fazer isso:

Esta resposta foi modificada há 3 anos, um mês atrás por.

(@quiddot)

3 anos, 1 mês atrás

Tente isto:

substitua seu código pelo seu código:

<?php if ( is_active_sidebar( 'sidebar-my-widget' ) ) : ?>
<?php dynamic_sidebar( 'sidebar-my-widget' ); ?>
<?php endif; ?>

and in your function replace your code by this:

add_action( 'widgets_init', 'theme_slug_widgets_init' );
function theme_slug_widgets_init() {
    register_sidebar( array(
        'name' => __( 'My Widget', 'theme-slug' ),
        'id' => 'sidebar-my-widget',
        'before_widget' => '<div class = "My Widget">',
	'after_widget'  => '</div>',
	'before_title'  => '<h3>',
	'after_title'   => '</h3>',
    ) );
}

boa sorte!

Esta resposta foi modificada há 3 anos, um mês atrás por. Causa: código fixo; caso contrário, ocorrem erros de sintaxe do Thread Starter

(@bbbelleville)

3 anos, 1 mês atrás

Obrigado Pioneer e Squiddot por sua ajuda inestimável e resposta rápida. Squiddot, tentei colocar seu código nos meus arquivos php, e para o cabeçalho está bom, mas para uma função diz:

erro de sintaxe, ‘widget’ inesperado (T_STRING)

então tentei digitar “Mine” em vez de “My Widget”, mas ainda diz:

erro de sintaxe, ‘classe’ inesperada (T_CLASS), esperando ‘)’

Agora estou tentando descobrir algo com a página que a Pioneer gentilmente linkou, mas não tenho certeza do resultado! ? Obrigado novamente!

(@bcworkz)

3 anos, 1 mês atrás

Erros de sintaxe podem resultar de ‘aspas curvas’ no código. Todos eles têm que ser 'straight quotes' Editei um post do squiddot para que o código apareça corretamente. Tente copiá-lo novamente.

Quando alguém postar código nesses fóruns, você deve usar backups para limitar o código ou usar o botão “código”. Caso contrário, seu código não pode ser usado.

lançador de tópicos

(@bbbelleville)

3 anos, 1 mês atrás

Obrigado bcworkz, o widget funciona! O problema é que ele abre em uma área vazia do cabeçalho e se eu tentar movê-lo para dentro do cabeçalho e principalmente sobre a imagem de fundo à direita, apenas o idioma italiano sobrevive, mas tenho outro sinalizador 3. Tenho uma regra CSS que não me ajuda… importa… esta é a regra que escrevi: .My { float: right; margem inferior: -5em; margem esquerda: -8em; } A área do widget parece estar limitada a um sinalizador…

(@bcworkz)

3 anos, 1 mês atrás

A largura total do contêiner é limitada a 1180px. Não há espaço para a bandeira francesa, então ela colapsa na próxima linha do menu, fazendo com que toda a barra de menu fique maior.

Você pode diminuir um pouco a largura para criar espaço ou ajustar a largura e o espaçamento do item de menu para que haja um pouco mais de espaço nos 1180px. Se atingir a largura, há um problema relacionado na mídia que reduz a largura em janelas mais estreitas. O ponto de ruptura em que isso ocorre deve ser aumentado na mesma quantidade para evitar que outro material transborde a janela.

Pode ser suficiente reduzir o enchimento do recipiente. Tente adicionar isso ao painel CSS adicional do adaptador:

.container, .container-fluid {
	padding-left: 10px;
	padding-right: 10px;
}

O preenchimento original era de 20 pixels. Existem muitas outras opções para obter mais espaço: preenchimento do artigo, tamanho da fonte, rastreamento de letras, peso da fonte, reetiquetagem do artigo, etc.

lançador de tópicos

(@bbbelleville)

3 anos, 1 mês atrás

Olá bcworkz, obrigado pela ajuda. Adicionei seu código ao painel Extra, mas a história é a mesma. Eu posso ver que ele se move para a esquerda e para a direita de acordo com as medidas que faço, então também tentei dar um “fundo acolchoado” para ver se ele acumularia algum espaço e ocuparia a área vazia., Mas se eu me mover à direita na parte inferior do cabeçalho, todos os sinalizadores caem. Então tentei resolver o problema cancelando o novo widget personalizado que criei e apliquei as seguintes linhas:

function polylanguage_shortcode () { ob_start (); pll_the_languages(edit(‘show_flags’ => 1, ‘show_names’ => 0)); $flags = ob_get_clean(); return $flags; } add_shortcode(‘polylanguage’, ‘polylanguage_shortcode’);

E isso no cabeçalho antes da tag. :

E movê-lo através de CSS, e desta vez cortar o cabeçalho… Eu não sei mais o que posso fazer… Talvez eu tenha que sair por um tempo e aprender mais sobre php! ? Muito obrigado. Paula

(@bcworkz)

3 anos, 1 mês atrás

É sempre uma boa ideia aprender mais sobre PHP, mas acho que não vai te ajudar nessa situação. Parece ser um problema da SEC. Às vezes, é difícil dar conselhos específicos à SEC devido a alterações de navegador e script devido à capacidade de resposta. Parece que você solicitou alterações de CSS cegamente sem uma compreensão adequada do que está tentando realizar. Isso me leva a acreditar que você não está usando a ferramenta Inspector do seu navegador.

Ele mostrará as regiões às quais cada aspecto da página se aplica, incluindo as partes que são preenchimento ou margens. Você pode experimentar diferentes valores na ferramenta e ver os resultados imediatamente. Você pode desabilitar ou adicionar novas regras. Tudo o que você precisa saber para encontrar uma solução. Levará algo para realmente aprender a usar a ferramenta, mas pode ser mais útil do que aprender PHP. Todos os principais navegadores modernos possuem essa ferramenta de alguma forma. Procure por ferramentas de desenvolvedor no menu do seu navegador.

lançador de tópicos

(@bbbelleville)

3 anos, 1 mês atrás

Olá! Eu finalmente terminei! bcworkz, você estava certo, as ferramentas de desenvolvimento foram muito úteis! Não usei muito porque tenho uma instalação local do meu site, mas a ferramenta do desenvolvedor é mais rápida e mostra as alterações instantaneamente. Muito obrigado a todos! Paula

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *