Wp belirtilen post ide göre veri çekme hakkında yardım

Kodla Büyü

GezginN61

Seçkin Üye
Seçkin Üye
Mesajlar
352
Arkadaşlar wp Point free temasını kullanıyorum. Temanının manşet alanında 4 adet içerik çekiliyor. Temanın yönetim panelinde içeriğin çekileceği kategoriyi belirleyebiliyorum.
Manşeti, belirlediğim post ide göre içeriği çekecek şekilde ayarlamamız mümkün mü?

Manşetin çekildiği kodlar:
<?php if(isset($mts_options['mts_featured_slider'])) { if($mts_options['mts_featured_slider'] == '1' && $mts_options['mts_featured_slider'] != '') { ?>
<?php if(is_home() && !is_paged()) { ?>
<div class="featuredBox">
<?php $i = 1;
// prevent implode error
if (empty($mts_options['mts_featured_slider_cat']) || !is_array($mts_options['mts_featured_slider_cat'])) {
$mts_options['mts_featured_slider_cat'] = array('0');
}
$slider_cat = implode(",", $mts_options['mts_featured_slider_cat']);
$my_query = new WP_Query('cat='.$slider_cat.'&posts_per_page=4&ignore_sticky_posts=1');
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<?php if($i == 1){ ?>
<div class="firstpost excerpt">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="first-thumbnail">
<?php if ( has_post_thumbnail() ) { ?>
<?php the_post_thumbnail('bigthumb',array('title' => '')); ?>
<?php } else { ?>
<div class="featured-thumbnail">
<img src="<?php echo get_template_directory_uri(); ?>/images/bigthumb.png" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
</div>
<?php } ?>
<p class="featured-excerpt">
<span class="featured-title"><?php the_title(); ?></span>
<span class="f-excerpt"><?php echo mts_excerpt(10);?></span>
</p>
</a>
</div><!--.post excerpt-->
<?php } elseif($i == 2) { ?>
<div class="secondpost excerpt">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="second-thumbnail">
<?php if ( has_post_thumbnail() ) { ?>
<?php the_post_thumbnail('mediumthumb',array('title' => '')); ?>
<?php } else { ?>
<div class="featured-thumbnail">
<img src="<?php echo get_template_directory_uri(); ?>/images/mediumthumb.png" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
</div>
<?php } ?>
<p class="featured-excerpt">
<span class="featured-title"><?php the_title(); ?></span>
</p>
</a>
</div><!--.post excerpt-->
<?php } elseif($i == 3 || $i == 4) { ?>
<div class="thirdpost excerpt">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="third-thumbnail">
<?php if ( has_post_thumbnail() ) { ?>
<?php the_post_thumbnail('smallthumb',array('title' => '')); ?>
<?php } else { ?>
<div class="featured-thumbnail">
<img src="<?php echo get_template_directory_uri(); ?>/images/smallfthumb.png" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
</div>
<?php } ?>
<p class="featured-excerpt">
<span class="featured-title"><?php the_title(); ?></span>
</p>
</a>
</div><!--.post excerpt-->
<?php } ?>
<?php $i++; endwhile; wp_reset_query(); ?>
</div>
<?php } ?>
<?php }} ?>
 
WP'de temel bir prensip mümkün olduğunca PHP kod yazmamaktır. Her yeni versiyon çıktığında dert, tema update ettiğinizde dert, plug-in yüklediğinizde dert.. vs.

Bence yapmak istediğinizi plug-in ekleyerek çözün. (Bu arada ne yapmak istediğinizi de anlamadım.)
 
Kod:
$my_query = new WP_Query('cat='.$slider_cat.'&posts_per_page=4&ignore_sticky_posts=1');
satırını
Kod:
$my_query = new WP_Query(array( 'post__in' => array( 1, 2, 3, 4 ) ));
Kod içindeki 1,2,3,4 ifadeleri yerine yazılarınız post_id'lerini yazarsanız istediğinizi elde etmiş olursunuz. Tasarımınız 4 adete izin verdiği için 4 yazıdan fazlasının ID'sini eklemeyin.
 
Niyazi SARAL' Alıntı:
WP'de temel bir prensip mümkün olduğunca PHP kod yazmamaktır. Her yeni versiyon çıktığında dert, tema update ettiğinizde dert, plug-in yüklediğinizde dert.. vs.

Bence yapmak istediğinizi plug-in ekleyerek çözün. (Bu arada ne yapmak istediğinizi de anlamadım.)
Niyazi Bey plung-in en son çare olarak düşünüyorum.


yakuphan' Alıntı:
Kod:
$my_query = new WP_Query('cat='.$slider_cat.'&posts_per_page=4&ignore_sticky_posts=1');
satırını
Kod:
$my_query = new WP_Query(array( 'post__in' => array( 1, 2, 3, 4 ) ));
Kod içindeki 1,2,3,4 ifadeleri yerine yazılarınız post_id'lerini yazarsanız istediğinizi elde etmiş olursunuz. Tasarımınız 4 adete izin verdiği için 4 yazıdan fazlasının ID'sini eklemeyin.

Yakuphan Bey, Allah razı olsun sayenizde bir kategoriye bağlı kalmaktan kurtardım. Sıralamayı post tarihine göre yapıyor. Sıralamayı da ben belirleyebilir miyim ?

Öncesinde ben manşet diye bir kategori oluşturmuştum. Bu kategoriye 4 içerik aktarıyordum. Fakat post tarihine göre çekiyor. İçeriklerin tarihleriyle oynamak zorunda kalıyorum. Sıralamayıda ben belirleyebilsem harika olacak.
 
Sıralamayı neye göre belirlemeyi düşünüyorsunuz?
WP varsayılan olarak tarih sırasına göre içerikleri çeker.
Kodu aşağıdaki gibi değiştirirseniz, verdiğiniz ID sırasına göre sıralar. Yalnız bu komut WP 3.5 ve üzerinde çalışır.
Kod:
$my_query = new WP_Query(array( 'orderby' => 'post__in', 'post__in' => array( 1, 2, 3, 4 ) ));
 
Geri
Üst