I can work pretty good with CSS and HTML but know nothing about PHP. I'm working on a wordpress client project and he wants more than one Latest Post/Recent Post to display on the static homepage. I'm pulling my hair out trying to figure this out. From the posted code, can someone show me what to delete and what to replace it with to make 5 of the most latest post appear? I really appreciate everyone's help.
<?php
/**
* Template Name: Homepage
*/
?>
<?php $mts_options = get_option(MTS_THEME_NAME); ?>
<?php get_header(); ?>
<?php if ($mts_options['mts_banner_show'] == '1') { ?>
<div class="b_first">
<div class="main-container">
<div class="container">
<div class="blog_first">
<!--first content-->
<div id="first_b">
<div class="b_right" <?php if ( isset( $_GET['mailchimp_signup'] ) || !empty( $_GET['aweber_signedup'] ) ) echo 'style="display:none;"'; ?>>
<h2 class="front-view-title">
<?php echo $mts_options['mts_banner_title']; ?>
</h2>
<div class="front-view-content">
<?php echo $mts_options['mts_banner_texts']; ?>
</div>
<?php if(!empty($mts_options['mts_button_text'])) { ?>
<div class="readMore" style="background:<?php echo $mts_options['mts_banner_button_bg']; ?>">
<?php echo $mts_options['mts_button_text']; ?>
<?php if(!empty($mts_options['mts_arrow_image'])) { ?>
<div class="b_dollor">
<img src="<?php echo $mts_options['mts_arrow_image']; ?>">
</div>
<?php } ?>
</div>
<?php } ?>
</div>
<!--Rightside Content-Option-1-->
</div>
<div id="second_b" <?php if ( !isset( $_GET['mailchimp_signup'] ) && empty( $_GET['aweber_signedup'] ) ) echo 'style="display:none;"'; ?>>
<div class="blog_first_alternative">
<h2 class="front-view-title">
<?php echo $mts_options['mts_banner_title']; ?>
</h2>
<div class="form_wrap">
<?php if(!empty($mts_options['mts_form_image'])) { ?>
<div class="form_wrap_left">
<img src="<?php echo $mts_options['mts_form_image']; ?>">
</div>
<?php } ?>
<div class="form_wrap_right">
<?php dynamic_sidebar('Home Subscribe Widget'); ?>
</div>
</div>
</div>
<!--Rightside content alternative option-->
<script type="text/javascript">
function hide_b() {
jQuery('#first_b').hide();
jQuery('#second_b').show();
}
</script>
</div>
</div>
<!--End of first content-->
</div>
</div>
</div>
<?php } ?>
<div class="main-container">
<div id="page">
<div class="artcl article">
<div id="content_box">
<?php if ($mts_options['mts_banner2_show'] == '1') { ?>
<!--Second Content-->
<div class="blog_second">
<div class="b_left">
<h2 class="front-view-title">
<?php echo $mts_options['mts_social_title']; ?>
</h2>
<?php if ( !empty($mts_options['mts_banner_social']) && is_array($mts_options['mts_banner_social'])) { ?>
<div class="social-icons">
<ul>
<?php foreach( $mts_options['mts_banner_social'] as $header_icons ) : ?>
<?php if( ! empty( $header_icons['mts_banner_icon'] ) && isset( $header_icons['mts_banner_icon'] ) ) : ?>
<li><span class="fa fa-<?php print $header_icons['mts_banner_icon'] ?>"></span></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</div>
<?php } ?>
</div>
<div class="b_right">
<h2 class="front-view-title">
<?php echo $mts_options['mts_books_title']; ?>
</h2>
<div class="b_readings">
<ul>
<?php if(!empty($mts_options['mts_books_image'])){ ?>
<?php foreach( $mts_options['mts_books_image'] as $slide ) : ?>
<li> <?php echo wp_get_attachment_image( $slide['mts_book_image'], false, array('title' =>'') ); ?></li>
<?php endforeach; ?>
<li class="more-books"><?php echo $mts_options['mts_more_book_text']; ?><i class="fa fa-angle-double-right"></i></li>
<?php } ?>
</ul>
</div>
</div>
</div>
<?php } ?>
<?php if(!empty($mts_options['mts_featured_posts']) && !empty($mts_options['mts_featured_post_cat'])) { ?>
<div class="home_article">
<?php
$featured_cat = implode( ",", $mts_options['mts_featured_post_cat'] );
$featured_query = new WP_Query('cat='.$featured_cat.'&posts_per_page=5');
if ($featured_query->have_posts()) : while ( $featured_query->have_posts() ) : $featured_query->the_post(); ?>
<article class="latestPost featuredpost excerpt">
<!--Featured Post-->
<header>
<h3 class="title front-view-title"><?php echo get_the_category_by_ID($featured_cat); ?></h3>
<?php if(has_post_thumbnail()) { ?>
<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>" id="featured-thumbnail">
<div class="featured-thumbnail">
<?php the_post_thumbnail('steadyincome-featured',array('title' => '')); ?> <?php if (function_exists('wp_review_show_total')) wp_review_show_total(true, 'latestPost-review-wrapper'); ?>
</div>
</a>
<?php } ?>
</header>
<div class="latestpost_wrap">
<h2 class="front-view-title">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>
"><?php the_title(); ?></a>
</h2>
<?php mts_the_postinfo( 'home' ); ?>
<div class="front-view-content">
<?php echo mts_excerpt(45); ?>
</div>
<?php mts_readmore(); ?>
</div>
</article>
<?php endwhile; wp_reset_query(); endif; ?>
<?php $j = 0;
if (get_query_var('page') > 1) {
$paged = get_query_var('page');
} elseif (get_query_var('paged')) {
$paged = get_query_var('paged');
} else {
$paged = 1;
}
$args= array('paged' => $paged, 'post_type' => 'post');
query_posts($args);
if ( have_posts() ) : while ( have_posts() ) : the_post();?>
<?php if($j ==0){ ?>
<article class="latestPost latestpost excerpt">
<!--Latest Post-->
<header>
<h3 class="title front-view-title"><?php _e('Latest Post','steadyincome'); ?></h3>
<a href="<?php the_permalink() ?>" title="Menu widget article" id="featured-thumbnail">
<div class="featured-thumbnail">
<?php the_post_thumbnail('steadyincome-featured',array('title' => '')); ?>
<?php if (function_exists('wp_review_show_total')) wp_review_show_total(true, 'latestPost-review-wrapper'); ?>
</div>
</a>
</header>
<div class="latestpost_wrap">
<h2 class="front-view-title">
<?php the_title(); ?>
</h2>
<?php mts_the_postinfo( 'home' ); ?>
<div class="front-view-content">
<?php echo mts_excerpt(40); ?>
</div>
<?php mts_readmore(); ?>
</div>
</article>
<?php } ?>
<?php $j++; endwhile; wp_reset_query(); endif; ?>
</div>
<?php } ?>
</div>
</div>
</div>
</div>
<?php get_footer(); ?>
Looks like you might have some setting in your theme settings. However if you have no setting there.
You can see this line that is limiting latest posts to just one Post:
<?php if($j ==0){ ?>
You may try to change it to number you want to try and see if it loops more posts there:
<?php if($j < 5){ ?>
This should allow the loop to run for five posts now. Give it a try and see if it helps.
Related
I have this code to display custom ACF fields on a page. When the subfields are empty, i would like to hide the div containers (class= price-container and ikon-container) completely, as it takes space in the column for another div container which is supposed to fill out the space instead.
How to solve this?
Thanks
<?php if ( have_rows( 'menuer_layout') ) : ?>
<div class="col-sm-12 col-md-12 col-lg-4" style="padding:0">
<div class="sticky-top">
<div class="price-container">
<div id="pricebox-content" class="slick-slide-pricebox">
<div class="pricebox-container">
<div class="pricebox-top">
<h4 class="pricebox-header">One</br>Two</h3>
<span class="price-subtitle">Here goes..</span>
</div>
<?php while ( have_rows( 'menuer_layout' ) ) : the_row(); ?>
<div class="menucard-container">
<h5 style="margin:0"><?php the_sub_field( 'menu_overskrift' ); ?></h5>
<span><?php the_sub_field( 'menu_tekst' ); ?></span>
<?php $menu_knap_url = get_sub_field( 'menu_knap_url' ); ?>
<?php if ( $menu_knap_url ) { ?>
<div class="pricebox-link-container" style="padding-top: 5px">
<a class="knap-2" href="<?php echo $menu_knap_url['url']; ?>" target="<?php echo $menu_knap_url['target']; ?>"><?php the_sub_field( 'menu_knap_tekst' ); ?></a>
</div>
<?php } ?>
</div>
<?php endwhile; ?>
<?php else : ?>
<?php // no rows found ?>
<?php endif; ?>
</div>
</div>
</div>
<?php $hotel_ikoner_images = get_field( 'hotel_ikoner', 'option' ); ?>
<?php if ( $hotel_ikoner_images ) : ?>
<div class="ikon-container">
<ul class="ikon-liste">
<?php foreach ( $hotel_ikoner_images as $hotel_ikoner_image ): ?>
<li class="hotel-ikon-spec">
<img class="hotel-ikon-small" src="<?php echo esc_url( $hotel_ikoner_image['sizes']['thumbnail'] ); ?>" alt="<?php echo esc_attr( $hotel_ikoner_image['alt'] ); ?>" /> <span class="hotel-ikon-text"><?php echo esc_html( $hotel_ikoner_image['caption'] ); ?></span>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>
</section>
You Can Use get_sub_field
https://www.advancedcustomfields.com/resources/get_sub_field/
<?php if(!get_sub_field('field_name')){ ?>
<div>
Hide This Content If Field Empty
</div>
<?php } ?>
I need an advice on where to add my google custom search engine code in the search.php file ?
here is the php file:
note that endwhile and endif are included, I have checked on youtube and I tried to delete the code between (if have post) and (endif) and add the google code there but it did not work..
<?php $mts_options = get_option('point'); ?>
<?php get_header(); ?>
<div id="page" class="home-page">
<div class="content">
<div class="article">
<h1 class="postsby">
<span><?php _e("Search Results for:", "mythemeshop"); ?></span> <?php the_search_query(); ?>
</h1>
<?php $j=0; $i =0; if (have_posts()) : while (have_posts()) : the_post(); ?>
<article class="<?php echo 'pexcerpt'.$i++?> post excerpt <?php echo (++$j % 2 == 0) ? 'last' : ''; ?>">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="featured-thumbnail">
<?php if ( has_post_thumbnail() ) { ?>
<?php echo '<div class="featured-thumbnail">'; the_post_thumbnail('featured',array('title' => '')); echo '</div>'; ?>
<?php } else { ?>
<div class="featured-thumbnail">
<img src="<?php echo get_template_directory_uri(); ?>/images/nothumb.png" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
</div>
<?php } ?>
<div class="featured-cat"><?php $category = get_the_category(); echo $category[0]->cat_name; ?></div>
</a>
<header>
<h2 class="title">
<?php the_title(); ?>
</h2>
<div class="post-info"><span class="theauthor"><?php the_author_posts_link(); ?></span> | <span class="thetime"><?php the_time( get_option( 'date_format' ) ); ?></span></div>
</header><!--.header-->
<div class="post-content image-caption-format-1">
<p>
<?php echo mts_excerpt(29);?>
<span class="readMore"><?php _e('Read More','mythemeshop'); ?></span>
</p>
</div>
</article>
<?php endwhile; else: ?>
<div class="no-results">
<h5><?php _e('No Results found. We apologize for any inconvenience, please hit back on your browser or use the search form below.', 'mythemeshop'); ?></h5>
<?php get_search_form(); ?>
</div><!--noResults-->
<?php endif; ?>
<!--Start Pagination-->
<?php if ( isset($mts_options['mts_pagenavigation']) && $mts_options['mts_pagenavigation'] == '1' ) { ?>
<?php $additional_loop = 0; global $additional_loop; mts_pagination($additional_loop['max_num_pages']); ?>
<?php } else { ?>
<div class="pagination">
<ul>
<li class="nav-previous"><?php next_posts_link( __( '← '.'Older posts', 'mythemeshop' ) ); ?></li>
<li class="nav-next"><?php previous_posts_link( __( 'Newer posts'.' →', 'mythemeshop' ) ); ?></li>
</ul>
</div>
<?php } wp_reset_query(); ?>
<!--End Pagination-->
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Regards !!
Just Create A New File Called searchform.php and paste your Google Custom Search Code There.
I managed to change where to add the code and here is the full code of search.php
<?php $mts_options = get_option('point'); ?>
<?php get_header(); ?>
<div id="page" class="home-page">
<div class="content">
<div class="article">
<h1 class="postsby">
<span><?php _e("Search Results for:", "mythemeshop"); ?></span> <?php the_search_query(); ?>
</h1>
<?php $j=0; $i =0; if (have_posts()) : while (have_posts()) : the_post(); ?>
<script>
(function() {
var cx = '000306723311332550300:tfoukb5efrq';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search></gcse:search>
</div>
</article>
<?php endwhile; else: ?>
<div class="no-results">
<h5><?php _e('No Results found. We apologize for any inconvenience, please hit back on your browser or use the search form below.', 'mythemeshop'); ?></h5>
<?php get_search_form(); ?>
</div><!--noResults-->
<?php endif; ?>
<!--Start Pagination-->
<?php if ( isset($mts_options['mts_pagenavigation']) && $mts_options['mts_pagenavigation'] == '1' ) { ?>
<?php $additional_loop = 0; global $additional_loop; mts_pagination($additional_loop['max_num_pages']); ?>
<?php } else { ?>
<div class="pagination">
<ul>
<li class="nav-previous"><?php next_posts_link( __( '← '.'Older posts', 'mythemeshop' ) ); ?></li>
<li class="nav-next"><?php previous_posts_link( __( 'Newer posts'.' →', 'mythemeshop' ) ); ?></li>
</ul>
</div>
<?php } wp_reset_query(); ?>
<!--End Pagination-->
</div>
<?php get_footer(); ?>
I'm having some problems with my archives pages. See: the page loads (as you can see at the Title) here: http://plugcitarios.com/category/eventos/ and here http://plugcitarios.com/category/entretenimento/ but the content/posts is the same at every category I select.
This is the header.php
<!DOCTYPE html>
<html lang="<?php bloginfo('language'); ?>">
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<title><?php wp_title(''); ?></title>
<link href="<?php echo get_template_directory_uri(""); ?>/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" />
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header class="full-width">
<div class="container">
<div class="logo">
<h1><img src="<?php echo get_template_directory_uri(""); ?>/images/logo.png"></h1>
</div>
<div class="social">
<ul>
<li><img src="<?php echo get_template_directory_uri(""); ?>/images/social-instagram.png"></li>
<li><img src="<?php echo get_template_directory_uri(""); ?>/images/social-facebook.png"></li>
<li><img src="<?php echo get_template_directory_uri(""); ?>/images/social-twitter.png"></li>
<li><img src="<?php echo get_template_directory_uri(""); ?>/images/social-youtube.png"></li>
<li><img src="<?php echo get_template_directory_uri(""); ?>/images/social-feed.png"></li>
</ul>
</div>
</div>
</header>
<?php global $post;
if ( is_home() ) { ?>
<section class="content container">
<?php query_posts('category_name=destaque&posts_per_page=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<div class="imagem-destaque">
<a href="<?php the_permalink() ?>"><?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'home1' );
}
?></a>
<div class="meta-destaque">
<span class="categoria-destaque"><ul>
<li>
<?php
$category = get_the_category();
if($category[0]){
echo ''.$category[0]->cat_name.'';
}
?>
</li>
</ul></span>
<h3><?php the_title(); ?></h3>
</div>
</div>
<?php endwhile;?>
<?php rewind_posts(); ?>
<?php wp_reset_query(); ?>
<?php query_posts('category_name=mini-destaque&posts_per_page=2'); ?>
<?php while (have_posts()) : the_post(); ?>
<div class="micro-destaque">
<a href="<?php the_permalink() ?>"><?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'home2' );
}
?></a>
<div class="micro-meta-destaque">
<span class="micro-categoria-destaque"><ul>
<li>
<?php
$category = get_the_category();
if($category[0]){
echo ''.$category[0]->cat_name.'';
}
?>
</li>
</ul></span>
<h3><?php the_title(); ?></h3>
</div>
</div>
<?php endwhile;?>
<?php rewind_posts(); ?>
<?php wp_reset_query(); ?>
</section>
<div class="clearfix"></div>
<?php } else { ?>
<?php } ?>
<nav class="container menu-topo">
<?php wp_nav_menu( array('menu' => 'topo' )); ?>
</nav>
And this is the archive.php
<?php get_header(); ?>
<section class="website-content container">
<section class="posts">
<?php rewind_posts(); ?>
<?php
if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
else { $paged = 1; }
query_posts('posts_per_page=10&paged=' . $paged);
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="meta">
<div class="date">
<?php the_time('j \d\e F') ?>
</div>
<div class="categoria">
<ul>
<li>
<?php
$category = get_the_category();
if($category[0]){
echo ''.$category[0]->cat_name.'';
}
?>
</li>
</ul>
</div>
<div class="author">
postado por <?php the_author_posts_link() ?>
</div>
</div>
<h2><?php the_title(); ?></h2>
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
?>
<div class="text-article">
<?php the_excerpt(); ?>
</div>
</article>
<?php endwhile; else: ?>
<article>
<p>Nenhum post encontrado.</p>
</article>
<?php endif; ?>
<?php wp_pagenavi(); ?>
</section>
<aside class="sidebar">
<?php get_sidebar(); ?>
</aside>
</section>
<?php get_footer(); ?>
Any Idea? :(
It was a bug at index.php. Loop problems. Fixed it.
I've made a home page with four different categories to be shown.I think it was working well, but for now the all posts have the same content as the first post. Links, and featured images, are good, but text somehow is being overwritte.
Heress the screen all texts are the same:
http://imagizer.imageshack.us/v2/800x600q90/713/m1j6.jpg
Edited: so this works with <?php setup_postdata( $post ); ?> inside loops
My code:
<div class="bmw">
<h2>bmw news</h2>
<?php $k = 1;
$posts = get_posts('category=7&orderby=date&numberposts=2'); foreach($posts as $post) { ?>
<?php setup_postdata( $post ); ?>
<div id="home_post<?php if($k%2 == 0) echo "last" ;?>">
<?php if ( has_post_thumbnail() ) {?>
<a href="<?php the_permalink() ?>"><div id="img">
<span>
<?php the_post_thumbnail(); ?>
</span>
</div>
</a>
<?php }; ?>
<h3><?php the_title(); ?></h3>
<span id="tags"><?php the_tags(); ?></span>
<?php the_content('...'); ?>
<div class="button_more">Czytaj więcej<span><img style="vertical-align:middle;width:auto;margin-left:5%" src="http://test.startujac.pl/images/strzalka_czytaj_wiecej.png"></span></div>
</div>
<?php $k++; ?>
<?php } ?>
</div>
<div class="news">
<h2>VW news</h2>
<?php $v = 1;
$posts = get_posts('category=12&orderby=date&numberposts=2'); foreach($posts as $post) { ?>
<?php setup_postdata( $post ); ?>
<div id="home_post<?php if($v%2 == 0) echo "last" ;?>">
<?php if ( has_post_thumbnail() ) {?>
<a href="<?php the_permalink() ?>"><div id="img">
<span>
<?php the_post_thumbnail(); ?>
</span>
</div></a>
<?php } ?>
<h3><?php the_title(); ?></h3>
<span id="tags"><?php the_tags(); ?></span>
<?php the_content('...'); ?>
<div class="button_more">Czytaj więcej<span><img style="vertical-align:middle;width:auto;margin-left:5%" src="http://test.startujac.pl/images/strzalka_czytaj_wiecej.png"></span></div>
</div>
<?php $v++; ?>
<?php }?>
</div>
<div class="japan">
<h2>japan news</h2>
<?php $k = 1;
$posts = get_posts('category=13&orderby=date&numberposts=2'); foreach($posts as $post) { ?>
<?php setup_postdata( $post ); ?>
<div id="home_post<?php if($k%2 == 0) echo "last" ;?>">
<?php if ( has_post_thumbnail() ) {?>
<a href="<?php the_permalink() ?>"><div id="img">
<span>
<?php the_post_thumbnail(); ?>
</span>
</div></a>
<?php } ?>
<h3><?php the_title(); ?></h3>
<span id="tags"><?php the_tags(); ?></span>
<?php the_content('...'); ?>
<div class="button_more">Czytaj więcej<span><img style="vertical-align:middle;width:auto;margin-left:5%" src="http://test.startujac.pl/images/strzalka_czytaj_wiecej.png"></span></div>
</div>
<?php $k++; ?>
<?php } ?>
</div>
<div class="events">
<h2>imprezy i zloty</h2>
<?php $k = 1;
$posts = get_posts('category=1&orderby=date&numberposts=4'); foreach($posts as $post) { ?>
<?php setup_postdata( $post ); ?>
<div id="home_post<?php if($k == 1) echo "first" ;?>">
<?php if ( has_post_thumbnail() ) {?>
<div id="img">
<span>
<?php the_post_thumbnail(); ?>
</span>
</div>
<?php } ?>
<div id="content">
<h3><?php the_title(); ?></h3>
<span id="tags"><?php the_tags(); ?></span>
<?php the_content('...'); ?>
</div>
</div>
<?php $k++; ?>
<?php } ?>
</div>
Have you tried putting the_post(); on the beginning of your template file? This solves sometimes this kind of problems.
I have the following code:
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="item">
<?php the_post_thumbnail('full');?>
<div class="container">
<div class="carousel-caption">
<h1>
<?php the_title(); ?>
</h1>
<p>
<?php the_excerpt(); ?>
</p>
</div>
</div>
</div>
<?php endwhile; ?>
And I need to add the class "active" to the first div (next to "item")
Use a boolean variable to test, set it to true after first pass so that further loops will not mark it active
<?php $firstMarked = false; ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="item <?php echo !$firstMarked ? "active":"";?>">
<?php the_post_thumbnail('full');?>
<div class="container">
<div class="carousel-caption">
<h1>
<?php the_title(); ?>
</h1>
<p>
<?php the_excerpt(); ?>
</p>
</div>
</div>
</div>
<?php $firstMarked = true;?>
<?php endwhile; ?>
Add a flag:
<?php
$isFrist = true;
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="item">
<?php the_post_thumbnail('full');?>
<div class="container<?php if ($isFirst): ?> active<?php endif ?>">
<div class="carousel-caption">
<h1>
<?php the_title(); ?>
</h1>
<p>
<?php the_excerpt(); ?>
</p>
</div>
</div>
</div>
<?php
$isFrist = false;
endwhile;
?>
if($loop->current_post == 1){
echo 'class';
}
<script type="text/javascript">
$('.carousel-inner > :first-child').addClass("active");
</script>