So, I'm working on my website, in Wordpress. To say on the beggining, I'm no php coder, I just stambled on this thing working on my wordpress website. I bought a theme and installed Simple Language Switcher plugin. It works but I don't know how to place it where I want. I tried it everywhere in my header.php file but no luck. You can see in the image below where it is right now and where I want it (right, where I wrote HERE). And the link for the plugin:
http://www.mendoweb.be/blog/wordpress-plugin-simple-language-switcher/
This is the code for my language bar:
<?php if( function_exists( 'simple_language_switcher' ) ) { ?>
<div id="simple-language-switcher"><?php simple_language_switcher(); ?></div>
<?php } ?>
Here's my header.php file right now:
<?php
/**
* The Header for our theme.
*
* Displays all of the <head> section and everything up till <main id="main">
*
* #package Terrifico
*/
?><!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" <?php language_attributes(); ?>>
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" <?php language_attributes(); ?>>
<![endif]-->
<!--[if !(IE 7) | !(IE 8) ]><!-->
<html <?php language_attributes(); ?>>
<!--<![endif]-->
<head>
<?php global $data; ?>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<?php if ($data['enable_favicon'] == 1 ) { ?>
<link rel="shortcut icon" href="<?php echo $data['favicon']; ?>" type="image/x-icon" />
<?php } ?>
<?php // Loads HTML5 JavaScript file to add support for HTML5 elements in older IE versions. ?>
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
<![endif]-->
<?php terrifico_custom_styling(); ?>
<?php wp_head(); ?>
<?php if ($data['custom_css'] <> "") { ?>
<style type="text/css">
<?php echo $data['custom_css']; ?>
</style>
<?php } ?>
</head>
<body <?php body_class(); ?>>
<div id="grid-container">
<?php if ( $data['top_panel_enable'] == 1 ) { get_template_part( 'top-panel' ); }; ?>
<?php if( function_exists( 'simple_language_switcher' ) ) { ?>
<div id="simple-language-switcher"><?php simple_language_switcher(); ?></div>
<?php } ?>
<div class="clear"></div>
<div id="branding" class="<?php echo $data['layout']; ?>">
<header id="header">
<div id="logo">
<?php if ( $data['text_logo_enable'] != 1 ) { ?>
<img src="<?php echo $data['logo']; ?>" alt="<?php echo $data['logo_alt_text']; ?>"/>
<?php } else { ?>
<?php echo $data['logo_alt_text']; ?>
<?php } ?>
</div>
<?php if ( $data['menu_separated'] != 1 ) { ?>
<div id="nav-holder">
<nav id="site-navigation-in" class="main-navigation" role="navigation">
<?php wp_nav_menu(array('theme_location' => 'main_navigation', 'container' => false,'menu_id'=>'menu-main-navigation','menu_class' => 'sf-menu sf-js-enabled sf-shadow', 'fallback_cb'=> 'terrifico_selectmenu', )); ?>
</nav><!--site-navigation-->
</div>
<?php } ?>
<script type="text/javascript">
var sf=jQuery.noConflict();
sf(window).load(function(){
// superFish
sf('ul.sf-menu').supersubs({
minWidth: 16, // minimum width of sub-menus in em units
maxWidth: 40, // maximum width of sub-menus in em units
extraWidth: 1 // extra width can ensure lines don't sometimes turn over
})
.superfish(); // call supersubs first, then superfish
});
</script>
</div><!--branding-->
<?php if ( $data['menu_separated'] == 1 ) { ?>
<div id="nav-holder" class="<?php echo $data['layout']; ?>">
<nav id="site-navigation" class="main-navigation" role="navigation">
<?php wp_nav_menu(array('theme_location' => 'main_navigation', 'container' => false,'menu_id'=>'menu-main-navigation','menu_class' => 'sf-menu sf-js-enabled sf-shadow', 'fallback_cb'=> 'terrifico_selectmenu', )); ?>
</nav><!--site-navigation-->
</div>
<?php } ?>
<?php if ( $data['front_page_blog_index'] == 1 ) {?>
<?php if (! is_home()) { ?>
<?php if ( $data['page_header_on'] == 1 ) { ?>
<?php get_template_part( 'page-header' ); ?>
<?php } ?>
<?php } ?>
<?php } else { ?>
<?php if ( $data['page_header_on'] == 1 ) { ?>
<?php get_template_part( 'page-header' ); ?>
<?php } ?>
<?php } ?>
The file you need to edit is top-panel.php, in the same directory as header.php. It contains the expanded PHP code for that part of the header in your theme. You can see where it's referenced in header.php here, just above where you currently have the language bar code:
<?php if ( $data['top_panel_enable'] == 1 ) { get_template_part( 'top-panel' ); }; ?>
It's increasingly common for WordPress themes, when their designers want to keep everything tidy, to have usual theme parts like header.php, footer.php, etc. divided even further into sub-files. In other words, top-panel.php is to header.php, like header.php is to index.php.
First, back up any files you edit, then carefully insert the language bar code in top-panel.php so the file looks something like this:
<?php
/**
* #package Terrifico
*/
global $data; ?>
<div id="top-panel" class="<?php echo $data['layout']; ?>">
<div id="info-box">
<?php if ( $data['top_contact_enable'] == 1 ) { get_template_part( 'contact-bar' ); }; ?>
<?php if(class_exists('Woocommerce')) { ?>
<?php if ( $data['header_social_enable'] == 1 && $data['shopping_cart_enable'] == 0 ) { get_template_part( 'social-bar' ); }; ?>
<?php if ( $data['shopping_cart_enable'] == 1 ) { get_template_part( 'shopping-cart' ); } ;?>
<?php } else { ?>
<?php if ( $data['header_social_enable'] == 1 ) { get_template_part( 'social-bar' ); }; ?>
<?php } ?>
/* INSERT LANGUAGE BAR CODE */
<?php if( function_exists( 'simple_language_switcher' ) ) { ?>
<div id="simple-language-switcher"><?php simple_language_switcher(); ?></div>
<?php } ?>
/* END LANGUAGE BAR CODE */
</div><!-- #info-box -->
</div><!-- #top-panel -->
Basically, you want the language bar code to be inside the top-panel <div>. That's the div that contains the other divs for "Have any questions?", social icons, etc.
I don't actually have the theme installed to experiment with right now, but you'll probably have to play a little with the CSS or the code above to get it positioned perfectly. Hope I explained it clearly enough and that this helps.
Related
Looking for help in getting my wordpress theme to display header image on all pages and not just the home page as it currently does. All pages use get_header php command and the header.php contains the following code:
<?php
/**
* The header for our theme
*
* This is the template that displays all of the <head> section and everything up until <div id="content">
*
* #link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* #package Superb_Landingpage
*/
?>
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<div class="navigation-wrapper">
<div class="site grid-container">
<header id="masthead" class="site-header grid-x grid-padding-x">
<div class="site-branding large-4 medium-10 small-9 cell">
<?php
the_custom_logo();
if ( is_front_page() && is_home() && is_page() ) :
?>
<div class="logo-container">
<h1 class="site-title"><?php bloginfo( 'name' ); ?></h1>
<?php
else :
?>
<div class="logo-container">
<h2 class="site-title"><?php bloginfo( 'name' ); ?></h2>
<?php
endif;
$superb_landingpage_description = get_bloginfo( 'description', 'display' );
if ( $superb_landingpage_description || is_customize_preview() ) :
?>
<p class="site-description"><?php echo $superb_landingpage_description; /* WPCS: xss ok. */ ?></p>
<?php endif; ?>
</div>
</div><!-- .site-branding -->
<nav id="site-navigation" class="main-navigation large-8 medium-2 small-3 cell">
<?php
wp_nav_menu( array(
'theme_location' => 'menu-1',
'menu_id' => 'primary-menu',
) );
?>
</nav><!-- #site-navigation -->
</header><!-- #masthead -->
</div>
</div>
<?php if ( get_header_image() ) : ?>
<?php if ( is_front_page() ) : ?>
<div class="content-wrap">
<div class="bottom-header-wrapper">
<img src="<?php echo esc_url(( get_header_image()) ); ?>" alt="<?php echo esc_attr(( get_bloginfo( 'title' )) ); ?>" />
</div>
</div>
<?php endif; ?>
<?php endif; ?>
<div id="page" class="site grid-container start-container-head">
<a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', 'superb-landingpage' ); ?></a>
<div id="content" class="site-content grid-x grid-padding-x">
What do I add/remove to simply have the header display on all pages?
I've tried removing the if/else conditions in the header.php but wordpress keeps rolling back the edit claiming errors. Any help is greatly appreciated! Thank you.
Try it
<?php
if ( is_home() ) {
// This is a homepage
} else {
// This is not a homepage
}
?>
<?php
if ( is_front_page() && is_home() ) {
// This is a homepage
} else {
// This is not a homepage
}
?>
If this does not work try this
<?php
if ( is_front_page() ) {
// This is a homepage
} else {
// This is not a homepage
}
?>
I've downloaded the MetaSlider plugin for WordPress, and am able to insert the generated code into my theme's header.php files so that the slider displays in the correct location. However, the site logo and description disappear when I do this (they should be overlaying the header image). Here's the code for the header.php file:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="profile" href="http://gmpg.org/xfn/11">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<!-- Preloader -->
<?php get_template_part( 'templates/header/preloader' ); ?>
<!-- Page Wrapper -->
<div id="page-wrap">
<!-- Boxed Wrapper -->
<div id="page-header" <?php echo esc_attr(ashe_options( 'general_header_width' )) === 'boxed' ? 'class="boxed-wrapper"': ''; ?>>
<?php
// Top Bar
get_template_part( 'templates/header/top', 'bar' );
// Page Header
get_template_part( 'templates/header/page', 'header' );
// Main Navigation
get_template_part( 'templates/header/main', 'navigation' );
?>
</div><!-- .boxed-wrapper -->
<!-- Page Content -->
<div id="page-content">
<?php get_template_part( 'templates/sidebars/sidebar', 'alt' ); // Sidebar Alt ?>
To get the slider into the correct location I need to replace the code underneath //Page Header with the code that Meta Slider provides. The Problem, I think, is that it's replacing the Header Template. So, I've looked at the php for the header template as well, but I'm not sure what, if anything, I might do in there to fix the issue. Here's the header template code:
<div class="entry-header">
<div class="cv-outer">
<div class="cv-inner">
<div class="header-logo">
<?php
if ( has_custom_logo() ) :
$custom_logo_id = get_theme_mod( 'custom_logo' );
$custom_logo = wp_get_attachment_image_src( $custom_logo_id , 'full' );
?>
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php esc_attr( bloginfo('name') ); ?>" class="logo-img">
<img src="<?php echo esc_url( $custom_logo[0] ); ?>" alt="<?php esc_attr( bloginfo('name') ); ?>">
</a>
<?php else : ?>
<?php echo bloginfo( 'title' ); ?>
<?php endif; ?>
<br>
<p class="site-description"><?php echo bloginfo( 'description' ); ?></p>
</div>
</div>
</div>
</div>
Any ideas as to how I might go about fixing this would be much appreciated!!
Have you try to give position:relative; z-index:9999;//z-index number depends to your logo and description?
I'm quite new to WP, and am trying to learn some HTML5/CSS/PHP while using it. Currently I'm having some troubles.
I created a custom page (to have just a clean blank page without the header etc...) and I also created a Contact Form 7 that should be responsive..
However this doesn't work. When I load it on mobile, it does not adjust.
This is the code for the template page:
<?php
/**
* Template Name: Blank Page Header
*
*/
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<div id="logo2" align="center"><img src="http://adventoury.com/wp-content/uploads/2017/04/IMG_20160507_153704_HDR-Recoveredcropped2.jpg" width="100%" ></div>
<br>
<!-- page title, displayed in your browser bar -->
<title><?php bloginfo('name'); ?> | <?php is_home() ? bloginfo('description') : wp_title(''); ?></title>
<!-- add feeds, pingback and stuff-->
<link rel="profile" href="http://gmpg.org/xfn/11" />
<?php wp_head(); ?>
</head>
<body id="top">
<div class='container_wrap' id='main'>
<div class='container'>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php get_template_part('page-parts/general-after-wrap'); ?>
<?php wp_footer(); ?>
</body>
</html>
And this is the CSS to make my from responsive
#media only screen and (min-width: 48em) {
.column-half{
width: 50%;
}
}
Am I missing something?
Kind regards!
You just need to add this code for template
<?php
/**
* Template Name: Blank Page Header
*
*/
get_header();
?>
<div class='container_wrap' id='main'>
<div class='container'>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php get_template_part('page-parts/general-after-wrap'); ?>
<?php get_footer(); ?>
There is barely any HTML in the main page.php template file. It's very unspecific and I can't edit individual elements and alter my webpage accurately. I'm able to delete things like entire headers, but I've seen other themes that have PHP template files that include most of the page structure, which gave me fine control over the web page.
<?php
/**
* The header for our theme.
*
* Displays all of the <head> section and everything up till <div id="content">
*
* #package Nikkon
*/
global $woocommerce;
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="page" class="hfeed site <?php echo sanitize_html_class( get_theme_mod( 'nikkon-slider-type' ) ); ?>">
<?php echo ( get_theme_mod( 'nikkon-site-layout' ) == 'nikkon-site-boxed' ) ? '<div class="site-boxed">' : ''; ?>
<?php if ( get_theme_mod( 'nikkon-header-layout' ) == 'nikkon-header-layout-three' ) : ?>
<?php get_template_part( '/templates/header/header-layout-three' ); ?>
<?php else : ?>
<?php get_template_part( '/templates/header/header-layout-one' ); ?>
<?php endif; ?>
<?php if ( is_front_page() ) : ?>
<?php get_template_part( '/templates/slider/homepage-slider' ); ?>
<?php endif; ?>
<div class="site-container <?php echo ( ! is_active_sidebar( 'sidebar-1' ) ) ? sanitize_html_class( 'content-no-sidebar' ) : sanitize_html_class( 'content-has-sidebar' ); ?>">
The file you are working in Is for Displays all of the <head> section and everything up till <div id="content"> It is the other theme files you want to be editing. example templates/header/header-layout-one and so on you might want to play around with a simpler theme first But start off with making your theme into a child theme follow the instructions here https://codex.wordpress.org/Child_Themes as to not break site or lose changes on update and then you can start editing the theme to suite your needs.
Be sure to read
How do I ask a good question?
https://stackoverflow.com/help/how-to-ask
My wordpress*(a custom template)* nav is all working on all of the pages but now I found out that the Main nav doesn't show on this pages
All pages e.g. search.php, single.php, index.php, page.php all has <?php get_header(); ?>
I really don't know whats wrong.
Here is the code for my header.php
<?php
/**
* #package WordPress
* #subpackage Default_Theme
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes() ?>>
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen,projection" />
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/sifr.css" type="text/css" />
<script src="<?php bloginfo('template_url'); ?>/js/sifr.js" type="text/javascript"></script>
<script src="<?php bloginfo('template_url'); ?>/js/sifr-config.js" type="text/javascript"></script>
<script src="http://cdn.jquerytools.org/1.1.2/jquery.tools.min.js"></script>
<?php wp_head(); ?>
</head>
<?php
$current_page = $post->ID;
$parent = 1;
while($parent) {
$page_query = $wpdb->get_row("SELECT post_name, post_parent FROM $wpdb->posts WHERE ID = '$current_page'");
$parent = $current_page = $page_query->post_parent;
if(!$parent) $parent_name = $page_query->post_name;
}
?>
<body id="<?php echo (is_page()) ? "$parent_name" : ((is_home()) ? "blog" : ((is_search()) ? "other" : ((is_single()) ? "blog" : "blog"))); ?>">
<div id="BGtie">
<!--HEAD WRAPPER-->
<div id="headwrapper">
<!--HEADER-->
<div id="headContainer">
<div id="nameTag">
<?php bloginfo('name'); ?>
</div>
<!--TOP NAV-->
<div id="topNav">
<ul>
<li>Home</li>
<li>Request info</li>
<li>Contact us</li>
<?php do_action('icl_language_selector'); ?>
</ul>
</div>
<!--END TOP NAV-->
<!--MAIN NAV-->
<?php if ( is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'fr') ) {include("main-nav-fr.php");} ?>
<?php if (is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'en')) include("main-nav-en.php") ?>
<!--END MAIN NAV-->
</div>
<!--END HEADER-->
</div>
<!--END HEAD WRAPPER-->
</div>
<!--MAIN NAV-->
<?php if ( is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'fr') ) {include("main-nav-fr.php");} ?>
<?php if (is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'en')) include("main-nav-en.php") ?>
<!--END MAIN NAV-->
is_page() returns false when in blog post. Remove the is_page and you should be fine.
Further reading - http://codex.wordpress.org/Conditional_Tags