رفتن به مطلب

کمک برای تکمیل کردن کوئری


پست های پیشنهاد شده

سلام تو یه جایی از قالبم برای دسته ی ویدئو کوئری گرفته شده اما میخوام تغییرش بدم هر جوری میزارم خطا میده کوئری اصلی اینه


<?php
$lastvideo = new WP_Query( 'cat=14 , showposts=4' );
while ( $lastvideo->have_posts() ) : $lastvideo->the_post();
if( 0 == $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('thumbnail', array('class' => 'video-full'));
echo '</a>';
}
if( 0 < $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('thumbnail', array('class' => 'video-pull'));
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

حالا میخواستم تغییرش بدم که موفق نمیشم به انجامش ممنون میشم کسی درستش کنه میخوام این دستورا بهش اضافه شه


the_post_thumbnail( array(150,150) );

و خط زیر هم برای اونایی که تصویر شاخص ندارن


<?php } else { ?>
<img src="<?php bloginfo('template_url'); ?>/images/thumbnail.png" height="150" width="150" />
<?php } ?>

پس در آخر میشه چک کردن بند انگشتی در صورت وجود ، تعریف کلس برای نمایش ، تعریف سایز و نمایش عکس دیگه برای اونایی که تصویر ندارن

ممنون

لینک به ارسال

تستینگ:


<?php
$lastvideo = new WP_Query( 'cat=14 , showposts=4' );
while ( $lastvideo->have_posts() ) : $lastvideo->the_post();
if( 0 == $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
if (has_post_thumbnail()) {
//the_post_thumbnail('thumbnail', array('class' => 'video-full'));
the_post_thumbnail( array(150,150) );
}else{
echo '<img src="'.get_bloginfo('template_url').'/images/thumbnail.png" height="150" width="150" />';
}
echo '</a>';
}
if( 0 < $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('thumbnail', array('class' => 'video-pull'));
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

لینک به ارسال

ممنون آقا پارسا خیر ببینی درست بود کار کرد

آقا پارسا همونطور که میبینی تو کوئری این دسته رو شرطی کرده یعنی اونی که شما زحمتش رو کشیدی آخرین پست رو با سایز بزرگ نشون میده و دستور بند انگشتی بعدی سه تا پست قبلی رو با سایز کوچکتر نشون میده

من خودم دستور شما رو اضافه کردم اما اشتباه شد خطا نمیداد اما مثل قبل سه تا نبود تکرار شده بود در صورتی که من فقط چهار تا پست دارم امیدوارم درست توضیح داده باشم اگه میشه زحمت بند انگشتی آخر رو هم با همون شرایط بکشید

یه دنیا ممنون

لینک به ارسال

این قسمت رو جایگزین خط the_post_thumbnail کنید


if (has_post_thumbnail()) {
//the_post_thumbnail('thumbnail', array('class' => 'video-full'));
the_post_thumbnail( array(150,150) );
}else{
echo '<img src="'.get_bloginfo('template_url').'/images/thumbnail.png" height="150" width="150" />';
}

لینک به ارسال

برای شما هم مثل ویرایش من شد

الان من فقط تو این کتگوری چهار تا مطلب دارم اما شش تا مطلب دیگه از یه کتگوری دیگه به این کوئری اضافه شده

تنها مشکلش اینه آخرین مطالب یه کتگوری دیگه رو هم اضافه کرده

لینک به ارسال

شما که فقط یک دسته رو بهش دادید پس چطور داره از دسته دیگه هم میاره؟

شما اون پست رو توی چند دسته ارسال نکردید؟

چون کوئری شما مشکلی نداره.

لینک به ارسال

نه والله منم خودم به همین شک کردم رفتم دیدم و فقط هر نوشته تو یه کتگوری ارسال شده از شانس ماست دیگه

وقتی بند انگشتی رو برای خط بالایی گذاشتم درست بود اما وقتی بند انگشتی دومی رو هم به همونی که آقا پارسا گفتن تغییر میدم این مشکل پیش میاد

اگه بخواد مشکلی داشته باشه طبیعی که تو همون اولی هم خودش رو نشون بده اما با ویرایش بند انگشتی دوم این اتفاق میوفته الان به این شکله همون کارایی که گفتن رو انجام دادم خواهش میکنم کمکم کنید چند روزه گرفتارشم


<?php
$lastvideo = new WP_Query( 'cat=14 , showposts=4' );
while ( $lastvideo->have_posts() ) : $lastvideo->the_post();
if( 0 == $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
if (has_post_thumbnail()) {
//the_post_thumbnail('thumbnail', array('class' => 'video-full'));
the_post_thumbnail( array(150,150) );
}else{
echo '<img src="'.get_bloginfo('template_url').'/images/thumbnail.png" height="150" width="150" />';
}
echo '</a>';
}
if( 0 < $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
if (has_post_thumbnail()) {
//the_post_thumbnail('thumbnail', array('class' => 'video-full'));
the_post_thumbnail( array(150,150) );
}else{
echo '<img src="'.get_bloginfo('template_url').'/images/thumbnail.png" height="150" width="150" />';
}
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

لینک به ارسال

بازم امتحان کردم این اصن با کوئری خودش هیچ مشکلی نداره و فقط نوشته هایی رو که کتگوری که براش تعریف کردیم میاره

این ماله خودشه که سالمه


<?php
$lastvideo = new WP_Query( 'cat=14 , showposts=4' );
while ( $lastvideo->have_posts() ) : $lastvideo->the_post();
if( 0 == $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('thumbnail', array('class' => 'video-full'));
echo '</a>';
}
if( 0 < $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('thumbnail', array('class' => 'video-pull'));
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

از شما فقط خواهش دارم دستوری بزارید که بند انگشتی تو کلسی که بالا اومده به نمایش در بیاد و تو سایز مورد نظرم کات بشه

الان مشکل اصلی من حجم بالای تصاویر بند انگشتیه اینجا با سی اس اس کوچیک کردم اما اصل تصویر سایز و حجمش بزرگه

لینک به ارسال

شما اگر عکسهاتون از قبل آپلود شده باشه با تغییر در تابع بندانگشتی کراپ نمیشن. فقط عکسهایی که از این به بعد آپلودمیشن کراپ میشن.

شما با این کددر فانکشن میتویند اندازه بندانگشتی و همچین کراپ شدندش رو مشخص کنید:

set_post_thumbnail_size( 50, 50, true );

کد شما مشکلی نداره.

لینک به ارسال

ممنون آقا مرتضی خواهش میکنم کمکم کنید این موضوع حل بشه و تاپیک رو همراهی بفرمایید این راهی که شما گفتید تقریبا" میشه گفت برای یه سایزه مثلا" بند انگشتی های پست

اما مشکل من اینه که بیش از حد معمول تصویر بند انگشتی دارم تو قالبم اگه از همین طریقی که گفتین میشه برای همه بند انگشتیها کاری کرد لطفا" بگید چون بعضی جاها نیازه تصویر خیلی بزرگ باشه که با کراپ کردن تو سایز کوچیک کیفیت خودش رو از دست میده

این آموزشی که اینجا گذاشته بوید واقعا" عالی بود باورتون نمیشه تو سایت های آنالیز به خاطر همین بند انگشتی ها حجم دریافت قالبم برای مرورگر به 7.5 مگ رسیده بود اما با اون روشی که تو آموزش گفته بودید الان حجمش از نصف نصف هم کمتر شده خیلی هم راحت همه بند انگشتی های قدیمی ریسایز شدن

اگه زحمت نمیشه اینو به کوئری من اضافه کنید وقتی من اضافه میکنم اینا : > رو خطا میگیره (خواهش میکنم)


<?php
if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink() ?>"> <img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php get_image_url(); ?>&h=150&w=150&zc=1" title="<?php the_title(); ?>" /></a>
<?php } else { ?>
<a href="<?php the_permalink() ?>"> <img src="<?php bloginfo('template_directory'); ?>/images/no-thumbnail.png" title="<?php the_title(); ?>" /></a>
<?php } ?>

دستور بالا به کوئری اضافه بشه و حتما" امکان شرطی بودن رو داشته باشه منظورم جایگزین کردن تصویر در صورت نبود تصویر شاخص هست

ممنونم پیشاپیش

لینک به ارسال

من کد رو اضافه کردم اما با کد شما تفاوتی نداره


<?php
$lastvideo = new WP_Query( 'cat=14 , showposts=4' );
while ( $lastvideo->have_posts() ) : $lastvideo->the_post();
if( 0 == $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
if (has_post_thumbnail()) {
//the_post_thumbnail('thumbnail', array('class' => 'video-full'));
the_post_thumbnail( array(150,150) );
}else{
echo '<img src="'.get_bloginfo('template_url').'/images/thumbnail.png" height="150" width="150" />';
}
echo '</a>';
}
if( 0 < $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
if (has_post_thumbnail()) {
//the_post_thumbnail('thumbnail', array('class' => 'video-full'));
the_post_thumbnail( array(150,150) );
}else{
echo '<img src="'.get_bloginfo('template_url').'/images/thumbnail.png" height="150" width="150" />';
}
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

چه خطایی نمایش داده میشه؟

لینک به ارسال

این رو تست کنید:

<?php
if ( has_post_thumbnail() ) {
$url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
?>

<a href="<?php the_permalink() ?>"> <img src="<?php bloginfo('template_directory''); ?>/timthumb.php?src=<?php echo $url; ?>&h=150&w=150&zc=1" title="<?php the_title(); ?>" /></a>
<?php } else { ?>
<a href="<?php the_permalink() ?>"> <img src="<?php bloginfo('template_directory'); ?>/images/no-thumbnail.png" title="<?php the_title(); ?>" /></a>
<?php } ?>

فایل timthumb توی پوشه پوسته باشه.

لینک به ارسال

پارسا جان برای شما مثل قبلی داره آخرین نوشته های یه دسته دیگه رو هم تداخل میده (منم خودم میدونم مشکلی نداره ولی واقعا" عجیبه با کوئری خودش درسته اما وقتی بند انگشتی رو ویرایش میکنیم بهم میریزه چک کردم اصن تو سورس با هیچ حلقه ی دیگه ای در ارتباط نیست)

آقا مرتضی برای شما هم مثل ویرایش خودم شد به اینا خطا میده <

اگه میشه با همین اسکریپت جلو بریم خیلی چیز جالبیه

حلالم کنید منو این همه پست دادم راستش دیگه خودمم یه جورایی خجالت میکشمو معضبم

ویرایش شده توسط m-noori
لینک به ارسال

متن خطا رو بزارید اینجا تا ببینیم از کدوم خط خطا میگیره.

لینک به ارسال

آقا مرتضی خطا ها رو هم رفع کردم به خاطر اینا > بود که من ج.ر دیگه تعریف کردم اما بازم مثل ماله آقا پارسا شد همه ی خوب پیش میره اما زمانی که دستور شرطی رو میذارم برای جایگزینی قاطی میکنه و از دسته دیگه مطلب میگیره

الان من به زیری راضیم ولی شرطی کردنش برام مهم تر از همس که نمیتونم

این رو هم بگم شاید مهم باشه وقتی اولی رو شرطی میکنم سالمه

اما وقتی دومی رو هم شرطی میکنم به مشکل میخوره یعنی از دسته ی دیگه مطلب میاره


<?php
$lastvideo = new WP_Query( 'cat=14 , showposts=4' );
while ( $lastvideo->have_posts() ) : $lastvideo->the_post();
if( 0 == $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('full', array('class' => 'full'));
echo '</a>';
}
if( 0 < $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('pull', array('class' => 'pull'));
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

لینک به ارسال

ببیند کدهای ما کاملا صحیح هست و مشکل 10% از سمت پوسته و کدنویسی شماست. چون کدها رو تست کردم و درست بودن.

با اینحال این رو هم تست کنید:

<?php
query_posts( 'cat=14&showposts=4' );
while ( have_posts() ) : the_post();
if(!has_post_thumbnail) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('full', array('class' => 'full'));
echo '</a>';
}
if(has_post_thumbnail) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('pull', array('class' => 'pull'));
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

لینک به ارسال

مرتضی عزیز فدای مهربونیات من فقط میخواستم دستوریش رو بزاریم که عکس نداشت یه عکس دیگه رو بیاره اما هر کاری میکنم نمیشه درسته تو کوئری هیچ مشکلی نیست

به هر حال همین الان هم کمی مشکلم حل شده و به این راضیم و دست ندارم بیش از این وقتتون رو بگیرم به خاطر لطفتون از شما تشکر میکنم

لینک به ارسال

فقط یک توضیح بدم که در کد بالا یک مشکل کوچیک بوداین رو تست کنید:

query_posts( 'cat=14&showposts=4' );
while ( have_posts() ) : the_post();
if(!has_post_thumbnail()) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('full', array('class' => 'full'));
echo '</a>';
}
if(has_post_thumbnail()) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('pull', array('class' => 'pull'));
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

برای بررسی عدم وجود عکس این شرطش هست:

if(!has_post_thumbnail())

لینک به ارسال

الان آقا مرتضی خیلی راضیم تو انجمن یه پست دادم گفتم من از زمینه دلخواه استفاده میکردم برای بند انگشتی که خوشبختانه جوابش رو تو انجمن پیدا کردم که بصورت زیر حل شد


<?php
if ( has_post_thumbnail() ) { ?>
<img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php get_image_url(); ?>&h=60&w=80&zc=1" title="<?php the_title(); ?>" alt="<?php the_title(); ?>" height="60" width="80" border="0" />
<?php } else { ?>
<img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo get_post_meta($post->ID, 'thumbnail', true); ?>&h=60&w=80&zc=1" title="<?php the_title(); ?>" alt="<?php the_title(); ?>" height="60" width="80" border="0" />
<?php } ?>

قبلا" گفتم زیاد بند انگشتی دارم به خدا دیگه روم نمیشه پست بزنم اینهمه اذیتتون کردم الان همه چی به راه قالبم تو یه تایم خیلی کم کامل لود میشه تنها جایی که مونده اسلایدرم نوع کدهاش فرق میکرد بازم خودم نتونستم اگه شد مثل بی زحمت حتما" مثل بالایی تعریفش کنید اگه هم نشد همون تابع های بند انگشتی خود وردپرس رو بگذارید کداش رو اینجا میزارم :


function carousel_featured_posts($cat_id, $max_posts=5, $offset=0) {

query_posts('cat='.$cat_id.'&showposts='.$max_posts);
if (have_posts()) :

$html = '';
$coint_i = 0;
while (have_posts()) : the_post();
$coint_i++;
$post = get_post(get_the_ID());
$post_title = stripslashes($post->post_title);
$post_title = str_replace('"', '', $post_title);
$post_content = stripslashes($post->post_content);
$post_content = str_replace(']]>', ']]>', $post_content);
$post_content = strip_tags($post_content);
$permalink = get_permalink(get_the_ID());
$post_id = get_the_ID();
$html .= '<div class="board_item">
<!-- board_item -->
';

$thumbnail = get_post_meta($post_id, 'thumbnail', true);

if( isset($thumbnail) && !empty($thumbnail) ):
$html .= '<img src="'.$thumbnail.'" alt="'.$post_title.'" />';
endif;

$html .= '<strong><a href="'.$permalink.'">'.get_string_limit($post_title,200).'</a></strong><div style="font-size:11px;line-height:18px;color:#444;padding:0px 0px 10px 0px"> '.get_string_limit($post_content,650).'</div>
<div class="more"><span style="padding-right:10px">
<a href="'.$permalink.'">ادامه خبر ...</a></span></div>

<!-- /board_item -->
</div>';
endwhile; wp_reset_query();

endif;
echo $html;
return $coint_i;
}

لینک به ارسال

برای افزودن اندازه دلخواه به تصویر شاخص میتوانید از کد زیر در فایل فانکشن استفاده کنید


add_image_size('custom-thumb-size-cropped', 250, 150, true);

برای لود:


if ( has_post_thumbnail()) {
$image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'custom-thumb-size-cropped');
$html .= '<img src="'.$image_url.'" alt="'.$post_title.'" />';
}elseif( isset($thumbnail) && !empty($thumbnail) ){
$html .= '<img src="'.$thumbnail.'" alt="'.$post_title.'" />';
}

لینک به ارسال

ممنون پارسا جان

اما نه زمینه دلخواه رو شرط نیاوردن کرد و نه تصاویر جدید که از خود وردپرس به عنوان شاخص انتخاب میکردم رو نمایش نمیداد یعنی عکس میومد اما با آدرس اشتباه اینجوری

myurl/Array

آقا پارسا اسلایدر پنج تا پست رو نشون میده یعنی اون زمینه دلخواه رو شرطی هم نکردی اشکالی نداره خودم میره دوباره اون پنج تا پست رو ویرایش میکنم و از خود وردپرس تصویر میذارم

شما فقط تابع تصویر بند انگشتی و اون سایز جدید رو برای مدی که بالا گذاشتم تعریف کن اگه زحمت نشد خودتون با کد من ترکیبش کنید میترسم مشکل از کپی پیست کردن من تو جای نامناسب باشه ممنونم

لینک به ارسال

اینو تست کنید


<?php
function carousel_featured_posts($cat_id, $max_posts=5, $offset=0) {
query_posts('cat='.$cat_id.'&showposts='.$max_posts);
if (have_posts()) :

$html = '';
$coint_i = 0;
while (have_posts()) : the_post();
$coint_i++;
$post = get_post(get_the_ID());
$post_title = stripslashes($post->post_title);
$post_title = str_replace('"', '', $post_title);
$post_content = stripslashes($post->post_content);
$post_content = str_replace(']]>', ']]>', $post_content);
$post_content = strip_tags($post_content);
$permalink = get_permalink(get_the_ID());
$post_id = get_the_ID();
$html .= '<div class="board_item">
<!-- board_item -->
';

$thumbnail = get_post_meta($post_id, 'thumbnail', true);

if ( has_post_thumbnail()) {
$image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'custom-thumb-size-cropped');
$html .= '<img src="'.$image_url[0].'" alt="'.$post_title.'" />';
}elseif( isset($thumbnail) && !empty($thumbnail) ){
$html .= '<img src="'.$thumbnail.'" alt="'.$post_title.'" />';
}

$html .= '<strong><a href="'.$permalink.'">'.get_string_limit($post_title,200).'</a></strong><div style="font-size:11px;line-height:18px;color:#444;padding:0px 0px 10px 0px"> '.get_string_limit($post_content,650).'</div>
<div class="more"><span style="padding-right:10px">
<a href="'.$permalink.'">ادامه خبر ...</a></span></div>

<!-- /board_item -->
</div>';
endwhile; wp_reset_query();
endif;
echo $html;
return $coint_i;
}

لینک به ارسال

خدا اندازه ی دلتون بهتون بده واقعا" نمیدونم با چه زبونی ازتون تشکر کنم دوست چند سالم با کلی منت فقط جزئی کمکم کرد اما شما ...

عالی شد اسلایدر هم درست شد فقط یه راهنمایی میخوام اون کوئری قبلی بود که با دسته های دیگه تداخل داشت الان با اینکه بازم حالت ساده رو پیش گرفتیم هنوز داره از دسته های دیگه مطلب نشون میده

میخواستم ببینم میشه تو کوئری جوری تعریف کرد که آی دی های زیر که مربوط به همون دسته ها هستن رو remove کنه و اصن تو حلقه نیاره

4-5-6-10


<?php
$lastvideo = new WP_Query( 'cat=14 , showposts=4' );
while ( $lastvideo->have_posts() ) : $lastvideo->the_post();
if( 0 == $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('full', array('class' => 'full'));
echo '</a>';
}
if( 0 < $lastvideo->current_post ) {
echo '<a href='.get_permalink().' target="_blank">';
the_post_thumbnail('pull', array('class' => 'pull'));
echo '</a>';
}
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

لینک به ارسال

اینو جایگزین خط اول کنید:


wp_reset_query();
wp_reset_postdata();
$lastvideo = new WP_Query(array('cat' => 4 , 'posts_per_page' => 5));

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...