Different inside v home page in custom Wordpress theme - wordpress

I want to use a different header style for the home page than for inside pages of my site. Specifically, I want the header section to be less tall on the inside pages. Should I use a different header.php file for the home page? If so, how?
I'm having a hard time getting ideas using Google, so if anyone has a helpful link to the appropriate resource that'd be great.

WordPress has a home page boolean function is_front_page() (true if is front page otherwise false)
Add a class to the header/body/whatever parent so
<header class="header<?php if(is_front_page()){ ?> home_header<?php } ?>">
</header>
and simply reference the class in CSS.
WordPress codex reference

Related

How can I set a specfic Wordpress page as landing page (but it should keep the permalink)?

I'd like to set the Wordpress page https://hartmannventures.com/success-stories/ as landing page. It should keep the permalink as it is now (/success-stories). Furthermore, the "home" page https://hartmannventures.com/ should keep it's permalink like it is now (/). I tried to set it with the static page settings, but then the "Success Stories"-page turns into the home page (/).
Thanks for your help!
General Settings (I'm afraid of changing something of that)
Reading Settings (Static Page) (That's what didn't work -> Changed it back to Home again)
You need to create a separate template page inside them for that page, with that you no need worry about anything and it will not affect on the home page.
Template Format
<?php /* Template Name: Template name*/ ?>
<?php get_header();?>
HTML
<?php get_footer();?>

How to add the Schema.org markup (generated by the Structured Data Markup Helper) to specific WordPress pages?

I have used the Structured Data Markup Helper and now need to add my mark-up code. Do I add this to the main head section of the website or just the individual page head.
I assume this needs to be added to the specific page head but I'm not sure where to access this. I am using Wordpress and normally add mark-up to the child theme header.php file in my cPanel but this is for all pages.
if(is_page('home')){ ?><!-- home page with slug home
enter your schema code for homepage -->
<?php }
else if(is_page('career')){ ?><!-- career page with slug career
enter your schema code for career-->
<?php }

Wordpress: create a custom home page

I want to create a website using wordpress, but I want my website to have a customized home page, created by me, completely different from the theme of the site, and then link the wordpress pages directly from my page.
Is this possible? How can I achieve this?
Can I simply create the page, and link the other created with the wordpress panel, without breaking everything?
According to official WordPress codex:
If a visitor goes to your home page at http://example.com/blog/, the following happens:
WordPress first determines whether it has a static front page. If a static front page has been set, then WordPress loads that page according to the page template hierarchy.
If a static front page has not been set, then WordPress looks for a template file called home.php and uses it to generate the requested page.
If home.php is missing, WordPress looks for a file called index.php in the active theme's directory, and uses that template to generate the page.
Therefore you just need to create a home.php template and place it with the other theme (which so ever theme you will use) templates and WordPress will automatically start using home.php template for the home page.
Just copy the default page.php template file and call it front-page.php. Change the configuration at the top of that file. Now create a new page called home.
Go to Administration > Settings > Reading panel and set a static front page.
For more help check this link on the Wordpress website:
https://codex.wordpress.org/Creating_a_Static_Front_Page
If you create HTML off your home page first than this is easy for you
First Create a file Like this "template-home.php" in your theme.
Now in "template-home.php" First you must write these lines at the top of the page
<?php
/* ==========
Template Name: Home
========== */
?>
After that add your header.php and footer.php like this:
<?php get_header(); ?>
// Your Content is here
<?php get_footer(); ?>
Now your Whole HTML is work between in Header and Footer
Then Go to your Admin Panel
Go to Pages > add new
and create a page named "Home"
NOTE: When you create a page Please Select a Template of Home and "Publish" it.
Then go to Settings > Reading and select "A static page (select below)" radio button, then a drop down is active and select your "Home" Page Then click on save changes.
I hope this will help you
You can create a front-page.php file in your active theme folder.
It can be use for both Your latest posts or a static page as you want.

How to differentiate Front page and other pages in Wordpress?

I have created a front page (i.e index.php) with my own design. This page will contain
header got from <?php get_header(); ?> [has navigation bar code]
Then some content. Here I'm showing three thumbnails of posts. [has slider, thumbnail posts etc]
And a footer from <?php get_footer(); ?>[has footer links]
The problem is, I see index.php loaded correctly as a front page. But when I navigate to other pages like About or Contact, the respective content from these pages is not showing up. Instead what getting loaded there is, same what Index page has. I don't want slider or thumbnail appearing on these pages.
So how to tell wp that, this is my front page, and this is my About page, don't load a slider and stuff on About page!?
use is_front_page() to determine the home page. like you only want slider on the home page then edit your header.php file that consist the slider part and do something like this
if( is_front_page() ):
// Front Page stuff like slider and
// whatever you want
endif;
Try this ,
if( is_home() || is_front_page() ){
//your home page content
}
else{
//other pages
}
For more here
Hope its works..
Make another template and set this template for your single pages. And then from backhand set it.
I usually create a front-page.php file, Wordpress will use that instead of index.php (which you can use as a generic template from then on).

Wordpress themeing

I am relatively new to wordpress, I am creating a custom theme, and so far it is going ok.
I currently have index.php, header.php, footer.php and sidebar.php.
I have now hit a bit that has been puzzling me for a couple of days.
My home page has a slightly different layout to other pages, how do I theme for that change?
My website is essentially made up, of 'static' pages and 2 posts pages, what can I do so that the homepage looks different to the other pages?
Create a page template called home.php. WordPress will use it automatically for the start page.
Example:
<?php
/**
* Template Name: Home
*/
get_header();
// Do your regular page.php stuff
get_footer();
See also the codex page an Conditional Tags.
Go into your dashboard, settings>reading, check what the setting is for your home page display. You may need to change it from the default "list of latest posts" to a static page of your choosing.
You need a front-page.php
Please see the template hierarchy
You need to use the built-in functions from wordpress such as is_home() and is_front_page().
Conditional Tags
If you have a front-page.php that will take precedence over home.php or page.php. Whether or not home.php or page.php are defaulted to (assuming you have both) can be controlled in Settings → Reading. If you do not have a front-page.php, home.php, or page.php, then index.php would be defaulted to.
One difference between home.php and front-page.php is that home.php defaults to being a blog index page. Though both home and front-page may be used to display static or blog index pages.
More info may be found Wordpress' Template Heirarchy page.

Resources