رفتن به مطلب

سوالاتي از تابع wp_list_comments نظرات


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

با سلام

چند تا سوال داشتم از اين تابع wp_list_comments براي بخش نظرات

1- اوليش اينه كه اندازه عكس اواتار رو چطور ميتونم تنظيم كنم؟ ، براي بخش اواتار از اين مورد زير استفاده ميكنم ولي متاسفانه نميدونم چطور بهش اندازه اواتار بديم


ol.commentlist li.comment div.vcard img.avatar {}

2- چطور ميتونم به تابع زير بگم كه مثلا هر كدام از نويسندگان سايت يه رنگ داشته باشه نظراتشون، يعني ما 4 تا نويسنده داريم ، ميخوايم كاري كنيم كه هر كدام وقتي جواب كامنت هارو ميدن استايل و رنگ خاص خودشون رو داشته باشن مثلا يكي سبز ديگري ابي و... احساس ميكنم با تابع زيره ولي اينكه چطور هر مدير رو مجزا معرفي كنيم و چطور بهش پارامتر بديم هم برام مجهوله متشكرم..


ol.commentlist li.comment div.comment-author {}

3- مورد بعدي اينه كه از دو پارامتر زير براي تايين استايل نام ارسال كننده نظر ، و متاديتاي نظر از قبيل ساعت و تاريخش استفاده ميشه


نام ارسال كننده
ol.commentlist li.comment div.vcard cite.fn {}


متاديتاي ان
ol.commentlist li.comment div.comment-meta { }
ol.commentlist li.comment div.comment-meta a { }

حالا به عكس زير توجه كنيد كه كلمه "ميگه" رو چطور اشتباه مينويسه و "ي" جدا مينويسه! چطور اين رو درست كنيم و اينكه هر كاري ميكنم به اين دو مورد Align و float ميدن اصلا تكون نميخورن كه ميخوام جاشون رو عوض كنم ، نام ارسال كننده سمت راست بياد و تاريخش و.. سمت چپ بره! كه نميشه متاسفانه

di-8IR2.jpg

فعلا اينا باشه تا ببينم ديگه چي هست!؟ :lol:

ممنونم از دوستاي گلم

ویرایش شده توسط rasivell
لینک به ارسال

1-خوب از مقادیر width و height استفاده کنید.

2-تابع برای هر نام کاربری یک کلاس منحصر به فرد ایجاد می کند که می توانید با کمک آن به هر کاربر یک استایل خاص نسبت دهید.

برای موردهای بعدی هم اگر آدرس سایت را بگذارید به نتیجه می رسید...#

لینک به ارسال
ارسال شده در (ویرایش شده)

متشكرم ..

1- فكر نكنم اين موردي كه ذكر كرديد استاندارد اين مساله باشه!! تا جايي كه بنده اطلاع دارم يه عدد ثابت بهش ميدن مثلا 34 و يا يه همچين عدد هايي و جدا براش وايد و.. نميدن! باز اگر دوستان ديگه اطلاع دارن يه نظري بدن (تست كردم الان همانطور كه عرض كردم اشتباه بوده. )

2- اين رو هم ميدونم ، بنده خواستم يه ذكر مثال بزنيد و الا خودم عرض كردم خدمدتون كه اين تابع اين كارو ميكنه!! :)

3- لوكاله و باز فكر نكنم نيازي به ادرس باشه ، ذكر مثال كفايت ميكنه..

متشكرم از دوستان

ویرایش شده توسط rasivell
لینک به ارسال

1-

http://codex.wordpress.org/Function_Reference/get_avatar

2- براساس این تاپیک:

نحوه تغییر رنگ مدیران

اموزش متمایز کردن دیدگاه مدیر سایت

3- این از فایل زبان وردپرس هست

لینک به ارسال

مرتضي جان خيلي عالي بود ولي لينكي كه از وردپرس دادي فقط ميگفت چطوري بايد نشون بديم اواتارو و اينكه خب من داشتم با فايل هاي Css تابع مذكور كار ميكردم و اصلا نميدونستم كجا بايد بگم اندازه رو بده! مثلا تو سي اس اس كه نميشه ، توي فايل كامنت هم اين تگ رو گذاشتم وسلام : <?php wp_list_comments(''); ?>

ولي خب كمي سرچ كردم به اين رسيدم كه اگر ميخواي كاستومايزش كني بايد بري تو قالب Function خودت و تغيراتي رو اعمال كني كه من كد زير رو ازش در اوردم و ميشه گفت 90 درصد سوالات بالا رو كه پرسيده بودم رو توش درست كردم و گفتم اينجا بزارم دوستان هم استفاده كنن و يه مشكلي داره برسي كنيد ممنون ميشم

-

خب من امدم تابع رو به اين شكل تو فايل قالبم گذاشتم:


<ol class="commentlist">
<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
</ol>

بعدش اين رو توي فايل فانگشن قالب ايجاد كردم:


<?php
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<?php echo get_avatar($comment,$size='56',$default='<path_to_url>' ); ?>
<?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
</div>
<div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','') ?></div>
<br /><br />
<?php comment_text() ?>
<br /><br />
<?php if ($comment->comment_approved == '0') : ?>
<p style="color:#f06135; font-weight:bold;">نظر شما بعد از تاييد نويسنده مطلب ، نمايش داده مي شود</p>
<?php endif; ?>

</div>
<?php
}

?>

خب همه چي عالي پيش رفت ولي يه مشكلي داره!! -

مساله از اين قراره كه وقتي ميري ادامه مطلب و نظر ميدي ! بجاي اينكه بياد مثلا كامنت هاتو جدا كنه ، مياد كامنت هاتو ميكنه همه رو توي يه كامنت! و بايد صفحه رو رفرش كني تا درست بشه (اخه از قابليت اجاكس پلاگين نطرات تو در تو استفاده ميكنم) ولي توي يه وب ديگه يكي يه كد ديگه داده بود كه اون خوب بود ولي مساله اينجا بود كه خيلي پيچيده بود من سر در نياوردم ازش ولي اگر كدي كه خودم قرار دادم رو برسي بفرماييد كه چرا نظرات رو اينطوري ميكنه ممنون ميشم! يه عكس ضميمه ميكنم متوجه مشكل بشيد متشكرم:

زماني كه دو سه تا نظر پشت سر هم ميدي و صفحه رو رفرش نميكني اينطوري ميشه:

di-MZE8.jpg

ولي همون صفحه بعد رفرش:

di-QHOX.jpg

لینک به ارسال

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

لینک به ارسال
ارسال شده در (ویرایش شده)

وقتي يه ديدگاه جديد ارسال ميكني اينطوري ميشه !!! پاسخش رو تست كردم مشكلي نداشت!

ویرایش شده توسط rasivell
لینک به ارسال
ارسال شده در (ویرایش شده)

متشكرم مرتضي جان ، واقعا نميدونم چرا فراموش شده :)

بستمش ولي بازم درست نشد

اينم كد اخر:


<?php
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<?php echo get_avatar($comment,$size='56',$default='<path_to_url>' ); ?>
<?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
</div>
<div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','') ?></div>
<br /><br />
<?php comment_text() ?>
<br /><br />
<?php if ($comment->comment_approved == '0') : ?>
<p style="color:#f06135; font-weight:bold;">نظر شما بعد از تاييد نويسنده مطلب ، نمايش داده مي شود</p>
<?php endif; ?>

</div>
</li>
<?php
}

?>

ویرایش شده توسط rasivell
لینک به ارسال

توی این کد مشکلی نمیبینم

شما بخشهای اشافی رو ازش پاک کن و فقط li رو بزار باشه ببیند بازهم بهم میریزه؟

لینک به ارسال
ارسال شده در (ویرایش شده)

بخش اضافي نداره مرتضي جان كه همه چي استاندارده! منظورت كدام قسمته كه احساس ميكني اضافيه؟؟

مرتضي جان تا اين مرحله ساده اش كردم ولي مشكل پا برجا بود!


<?php
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?><br />

<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">

<div id="comment-<?php comment_ID(); ?>">

<div class="comment-author vcard">
</div>
<br /><br />
<?php comment_text() ?>
<br /><br />

</div>
</li>
<?php
}

?>

مرتضي ي عزيز ، اين كد زير رو ببين از خود مستندات وردپرس برداشتم اين كد درسته ولي زمين تا اسمون با چيزي كه من اماده كردم فرق داره ، درجرياني كه براي بار دومه دارم فايل نظرات قالب رو از 0 درست ميكنم جدا ديگه نميتونم باز اين كارو بكنم زمانم به شدت گرفته شده! واقعا نميدونستم اين بخش نظرات اين همه دشواره


function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
extract($args, EXTR_SKIP);
if ( 'div' == $args['style'] ) {
$tag = 'div';
$add_below = 'comment';
} else {
$tag = 'li';
$add_below = 'div-comment';
}
?>
<<?php echo $tag ?> <?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ?> id="comment-<?php comment_ID() ?>">
<?php if ( 'div' != $args['style'] ) : ?>
<div id="div-comment-<?php comment_ID() ?>" class="comment-body">
<?php endif; ?>
<div class="comment-author vcard">
<?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?>
<?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<em class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.') ?></em>
<br />
<?php endif; ?>
<div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>">
<?php
/* translators: 1: date, 2: time */
printf( __('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','' );
?>
</div>
<?php comment_text() ?>
<div class="reply">
<?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
<?php if ( 'div' != $args['style'] ) : ?>
</div>
<?php endif; ?>
<?php
}

ویرایش شده توسط rasivell
لینک به ارسال

این رو خودم هم استفاده میکنم:

<?php
function my_custom_comments($comment, $args, $depth){

$GLOBALS['comment'] = $comment;
?>
<li>
<?php echo get_comment_author_link(); ?>
<?php comment_text(); ?>

</li>
<?php
}
?>

لینک به ارسال

مرتضي جان كد شما صفحه رو رفرش ميكنه و اجاكسش كلا كار نميكنه رو كد شما!

اين كد رو هم توي فايل كامنت قالب دارم و گذاشتم نكنه مشكل من از اينه باشه:


<ol class="commentlist">
<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
</ol>

لینک به ارسال

این هم باید تغییر میکرد:

	    <ol class="commentlist">
<?php wp_list_comments('type=comment&callback=my_custom_comments'); ?>
</ol>

لینک به ارسال
ارسال شده در (ویرایش شده)

حواسم بود مرتضي جان اينو تغير دادم .... منظورم اين بود نكنه مشكل من از اين باشه! اين رو تغير دادم كه گفتم كد شما صفحه رو رفرش ميده!

به نظرتون اين مشكل ميتونه از CSS باشه؟ ميخوايد كد هاي اين بخش رو بدم يه نگاه كنيد؟

ویرایش شده توسط rasivell
لینک به ارسال

با این کد رفرش داد؟! من چطور مشکلی ندارم...

کدهاتون رو بزارید.

لینک به ارسال
ارسال شده در (ویرایش شده)

اره مرتضي جان رفرش ميكنه...


ol.commentlist li div.reply {

display:none;
}
ol.commentlist {

width:540px;
float:right !important;
padding-right:3px;
}
ol.commentlist li.comment div.vcard img.avatar {
padding: 1px;
margin:2px 8px 1px 2px;
border: 1px solid #c4c2c2;
float:left !important;
}
ol.commentlist li.comment div.vcard img.avatar:hover {
border: 1px solid #9b9999;
padding: 1px;
}
ol.commentlist li.comment {

color: #393939;
margin: 5px 10px 0px 10px;
padding: 7px 7px;
border: 2px solid #dbdada;-moz-border-radius: 5px;-khtml-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;
background:#eeecec;
display:block;
text-align: justify;
direction: rtl;
line-height:1.3;
}
ol.commentlist li.comment:hover {

background:#e7e4e4 ;
border: 2px solid #c5c3c3;
}
ol.commentlist li.comment div.vcard cite.fn {

font-size:11px;
font-style:normal;
color: #3f3f2d;
font-weight:bold;
}
ol.commentlist li.comment div.vcard span.says {
font-size:11px; margin-left:10px;
}
ol.commentlist li.comment div.commentmetadata {
display:inline;
float:left;
}


ol.commentlist li.comment div.comment-meta { font-size:10px; }
ol.commentlist li.comment div.comment-meta a { color:#93762f; }

ویرایش شده توسط rasivell
لینک به ارسال

li ها رو به div تغییر بدید. شاید مشکل از استایل بشه هرچند من چیز خاصی توش ندیدم.

اگر از کدهای html-css باشه با تغییر به div نباید توی هم بره.

بغعد در استایل تغییر ندید و فقط به div تون یک بوردر بدید.

برای تست هست.

لینک به ارسال
ارسال شده در (ویرایش شده)

il رو تو فايل فانگشن به Div تغير دادم و بهش بوردر دادم و دوباره تست كردم همون بود!!!

ببينيد اقا مرتضي كدي كه من توي تاپيك شماره 11 دادم كه گفتم از مستندات وردپرسه... اون خيلي جالبه قشنگ كار ميكنه ولي مساله اينه كه من ميخوام فقط بدونم تفاوت اون با فايل نوشته شده خودم چيه كه اون قسمتش رو لحاظ كنم ، چون اگر بخوام اون كد رو كه خود مستندات داده كه من تو پست 11 ذكرش كردم رو بزارم ، باز بايد از 0 يه چيزايي رو تغير بدم و راستشم از اون كده سر در نياوردم بايد خب ياد بگيرم چيه و مشكل چي بوده! ميشه يه بزرگواري كني به اين حقير ، و نگاه كني ببيني جدا تفاوت اون كد با مال من چيه كه اون درست مثل ساعت كار ميكنه ولي كد من و شما خير و كار ميكنه و ميره تو هم!

(شايد بگي خب اون كه كار ميكنه رو بزار ولي بايد بگم كه اون با مال من تو استايل ها و يه بخش ديگه تفاوت داره و اينكه ميخوام بدونم مشكل چيه اصلا من اشتباهم كجاست كه اون كار ميكنه ولي مال من خير..... چون اوني كه من نوشتم دقيقا چيزيه كه ميخوام!! و كلي روش كار كردم. و البته اينكه اون از روش چايلد و پاسخ دهي تابع خود وردپرس استفاده ميكنه و من براي بخش پاسخ دهي از يه افزونه استفاده كردم و وقتي ميام كد هاي اضافي اون كد فوق رو اصلاح ميكنم ديگه كار نميكنه!)

ویرایش شده توسط rasivell
لینک به ارسال

من تک تک شرط های کد وردپرس رو بررسی کردم تنها تفاوتش در نهایت چند شرط برای کلاس دادن به المان ها بود.

و اینکه کلا div بود.

لینک به ارسال

نميدونم چيكار كنم!! من يه همون فايل خود وردپرس رو برميدارم و از 0 اديتش ميكنم ديگه كاري نميشه كرد.. متشكرم مرتضي جان

لینک به ارسال

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

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

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

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

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

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

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

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

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