سعید شعبانی 2047 ارسال شده در خرداد 92 گزارش بازنشر ارسال شده در خرداد 92 (ویرایش شده) دوستان سلاممن می خواهم چند ویژگی زیر را به فایل comments.php اضافه کنم1- دیدگاه های تو در تو فعال شوند (در حال حاظر وقتی پاسخی به دیدگاهی داده میشود به صورت یک تگ li بعد از قبلی ساخته می شود که نمی گذارد به هم مرتبط شوند)2- دکمه پاسخ به نظرات ( وقتی کد<?php comment_reply_link( $args, $comment, $post ); ?>را به فایل اضافه می کنم هیچ تغییری ایجاد نمی شود و دکمه پاسخ به نظرات دیدده نمی شود. )محتویات فایل comments.php<?php // Do not delete these linesif ('comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!');if (!empty($post->post_password)) { // if there's a passwordif ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie?><h2><?php _e('Password Protected'); ?></h2><p><?php _e('Enter the password to view comments.'); ?></p><?php return;}}/* This variable is for alternating comment background */$oddcomment = 'alt';?><!-- You can start editing here. --><?php if ($comments) : ?><ol class="commentlist"><?php foreach ($comments as $comment) : ?><li class="<?php/* Only use the adminComment class from style.css if the user_id is 1 (admin) */if (1 == $comment->user_id)$oddcomment = "adminComment";echo $oddcomment;?>" id="comment-<?php comment_ID() ?>"><figure class="gravatar"><?php if(function_exists('get_avatar')) { echo get_avatar($comment, '70'); } ?></figure><div class="commentmetadata"><?php comment_author_link() ?><span class="comment-date"><?php comment_date('j F Y') ?></span><?php if ($comment->comment_approved == '0') : ?><em><?php _e('Your comment is awaiting moderation.'); ?></em><?php endif; ?></div><?php comment_text() ?></li><?php /* Changes every other comment to a different class */if ('alt' == $oddcomment) $oddcomment = '';else $oddcomment = 'alt';?><?php endforeach; /* end for each comment */ ?></ol><?php else : // this is displayed if there are no comments so far ?><?php if ('open' == $post->comment_status) : ?><!-- If comments are open, but there are no comments. --><?php else : // comments are closed ?><!-- If comments are closed. --><p class="nocomments">Comments are closed.</p><?php endif; ?><?php endif; ?><?php if ('open' == $post->comment_status) : ?><h3 id="respond">نظر بدهید</h3><?php if ( get_option('comment_registration') && !$user_ID ) : ?><p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p><?php else : ?><form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"><p class="comment-desc">لطفا فقط در مورد این مطلب نظر دهید. اگر سوال علمی دارید آن را می توانید در سامانه پرسش و پاسخ علمی دنوج مطرح کنید. اگر می خواهید در کنار نظر خود آواتار خود را به نمایش بگذارید می توانید از سایت <a href="https://fa.gravatar.com/" rel="nofollow">گراوتار</a> استفاده کنید.</p><?php if ( $user_ID ) : ?><p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout »</a></p><?php else : ?><div class="fields-box"><p><label for="author"><small>نام (لازم)</small></label><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="40" tabindex="1" /></p><p><label for="email"><small>ايميل (لازم)</small></label><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="40" tabindex="2" /></p><p><label for="url"><small>سايت</small></label><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="40" tabindex="3" /></p></div><?php endif; ?><div class="message-box"><label for="comment"><small>نظر شما</small></label><textarea name="comment" id="comment" cols="60" rows="10" tabindex="4"></textarea><p id="submit-form"><input name="submit" type="submit" id="submit" tabindex="5" value="ارسال نظر" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></p></div><?php do_action('comment_form', $post->ID); ?></form><?php endif; // If registration required and not logged in ?><?php endif; // if you delete this the sky will fall on your head ?> ویرایش شده خرداد 92 توسط سعید شعبانی نقل قول لینک به ارسال
Morteza 34190 ارسال شده در خرداد 92 گزارش بازنشر ارسال شده در خرداد 92 خوب قبلا هم بارها توضیح دادیم باید از تابع wp_comment_list استفاده بشهآموزشش هم ماشاله زیاد توی انجمن قرار دادم! 1 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در خرداد 92 مالک گزارش بازنشر ارسال شده در خرداد 92 (ویرایش شده) خوب قبلا هم بارها توضیح دادیم باید از تابع wp_comment_list استفاده بشهآموزشش هم ماشاله زیاد توی انجمن قرار دادم!جای چی باید از تابع wp_comment_list استفاده بشه؟ آموزشش هم پیدا نکردم ویرایش شده خرداد 92 توسط سعید شعبانی نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در خرداد 92 مالک گزارش بازنشر ارسال شده در خرداد 92 خوب من الان برای بخش کامنت ها از کد زیر استفاده کردم ولی چجوری میشه اون رو شخصی سازی کرد مثلا اندازه آواتار<ol class="commentlist"><?php wp_list_comments(); ?></ol> نقل قول لینک به ارسال
Parsa 23463 ارسال شده در خرداد 92 گزارش بازنشر ارسال شده در خرداد 92 مثالش در فایلها هستدر آرگومان callback تابعی رو باید فراخوانی کنید 3 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در خرداد 92 مالک گزارش بازنشر ارسال شده در خرداد 92 ممنون فهمیدم چجوری هست نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در خرداد 92 مالک گزارش بازنشر ارسال شده در خرداد 92 (ویرایش شده) من کد زیر را داخل فانکشن قرار دادم و به کامنت ها استایل دادم<?phpfunction 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="<?php/* Only use the adminComment class from style.css if the user_id is 1 (admin) */if (1 == $comment->user_id)$oddcomment = "adminComment";echo $oddcomment;?>"><?php endif; ?><div class="comments-top"><figure class="gravatar"><?php if(function_exists('get_avatar')) { echo get_avatar($comment, '70'); } ?></figure><div class="commentmetadata"><?php comment_author_link() ?><span class="comment-date"><?php comment_date('j F Y') ?></span><?php if ($comment->comment_approved == '0') : ?><em class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.') ?></em><?php endif; ?></div></div><div class="commentdata"><?php comment_text() ?></div><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 }ولی امروز که چک کردم می بینم که بالای سر هر کامنت یک کد مثل زیر چاپ شده میشه بگید مشکلش چی هست؟li class="comment even thread-even depth-1 parent" id="comment-142">این هم کد های فایل comments.php<?php // Do not delete these linesif ('comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!');if (!empty($post->post_password)) { // if there's a passwordif ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie?><h2><?php _e('Password Protected'); ?></h2><p><?php _e('Enter the password to view comments.'); ?></p><?php return;}}/* This variable is for alternating comment background */$oddcomment = 'alt';?><!-- You can start editing here. --><ol class="commentlist"><?php wp_list_comments('callback=mytheme_comment'); ?></ol><?php if ('open' == $post->comment_status) : ?><h3 id="respond">نظر بدهید</h3><?php if ( get_option('comment_registration') && !$user_ID ) : ?><p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p><?php else : ?><form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"><p class="comment-desc">لطفا فقط در مورد این مطلب نظر دهید. اگر سوال علمی دارید آن را می توانید در سامانه پرسش و پاسخ علمی دنوج مطرح کنید. اگر می خواهید در کنار نظر خود آواتار خود را به نمایش بگذارید می توانید از سایت <a href="https://fa.gravatar.com/" rel="nofollow">گراوتار</a> استفاده کنید.</p><?php if ( $user_ID ) : ?><p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout »</a></p><?php else : ?><div class="fields-box"><p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="40" tabindex="1" placeholder="نام (لازم)" /></p><p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="40" tabindex="2" placeholder="ايميل (لازم)" /></p><p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="40" tabindex="3" placeholder="سايت" /></p></div><?php endif; ?><textarea name="comment" id="comment" placeholder="نظر شما..." ></textarea><input name="submit" type="submit" id="submit" tabindex="5" value="ارسال نظر" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /><?php do_action('comment_form', $post->ID); ?></form><?php endif; // If registration required and not logged in ?><?php endif; // if you delete this the sky will fall on your head ?> ویرایش شده خرداد 92 توسط سعید شعبانی نقل قول لینک به ارسال
Morteza 34190 ارسال شده در خرداد 92 گزارش بازنشر ارسال شده در خرداد 92 این اشتباه هست:$tag = 'لli'; 1 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در خرداد 92 مالک گزارش بازنشر ارسال شده در خرداد 92 این اشتباه هست:$tag = 'لli';وقتی به صورت زیر هم باشه همون مشکل یاز هست$tag = 'li'; نقل قول لینک به ارسال
Morteza 34190 ارسال شده در خرداد 92 گزارش بازنشر ارسال شده در خرداد 92 شما خط زیر:<?php echo $tag ?> <?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ?> id="comment-<?php comment_ID() ?>">رو بصورت زیر تغییر بدید ببینید تغییری میکنه؟<<?php echo $tag ?> <?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ?> id="comment-<?php comment_ID() ?>"> 1 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در خرداد 92 مالک گزارش بازنشر ارسال شده در خرداد 92 شما خط زیر:<?php echo $tag ?> <?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ?> id="comment-<?php comment_ID() ?>">رو بصورت زیر تغییر بدید ببینید تغییری میکنه؟<<?php echo $tag ?> <?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ?> id="comment-<?php comment_ID() ?>">فکر کنم مشکلش از همین خط بود چون الان درست شد. من فکر کردم چون دوتا علامت >> , اول کد هست اشتباهی وجود داره بعد این رو حذف کردم. چرا حالا باید دوتا >> باشه؟ نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در تیر 92 مالک گزارش بازنشر ارسال شده در تیر 92 الان بالای نظرات هیچ عنوانی وجود نداره چحوری باید عنوان را در کد های comments.php یا فانکشن قرار بدم تا زمانی که فقط پست دارای نظر بود عنوان رو نشون بده؟ نقل قول لینک به ارسال
Parsa 23463 ارسال شده در تیر 92 گزارش بازنشر ارسال شده در تیر 92 شناسه پست را به این تابع بدهیدhttp://codex.wordpre..._count_comments 2 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در تیر 92 مالک گزارش بازنشر ارسال شده در تیر 92 شناسه پست را به این تابع بدهیدhttp://codex.wordpre..._count_commentsشناسه پست کجا هست؟ نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در تیر 92 مالک گزارش بازنشر ارسال شده در تیر 92 (ویرایش شده) $post->IDاینجوری<?php do_action( 'comment_form', <?php wp_count_comments( post_id ); ?> ); ?> ویرایش شده تیر 92 توسط سعید شعبانی نقل قول لینک به ارسال
Parsa 23463 ارسال شده در تیر 92 گزارش بازنشر ارسال شده در تیر 92 الان بالای نظرات هیچ عنوانی وجود نداره چحوری باید عنوان را در کد های comments.php یا فانکشن قرار بدم تا زمانی که فقط پست دارای نظر بود عنوان رو نشون بده؟برای راه حلابتدا باید صوال رو فهمیدسوال شما از شرط حرف میزنهپس باید شرط قرار دهیدif(wp_count_comments( post_id ))echo 'title';شناسه پست را هم ارسال کنید به تابع 2 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در تیر 92 مالک گزارش بازنشر ارسال شده در تیر 92 برای راه حلابتدا باید صوال رو فهمیدسوال شما از شرط حرف میزنهپس باید شرط قرار دهیدif(wp_count_comments( post_id ))echo 'title';شناسه پست را هم ارسال کنید به تابعببخشید سوالم شفاف نبود یک بار دیگه توضیح می دممن الان در فایل single.php کد زیر را گذاشتم<?php comments_template(); ?>بعد فایل comments.php به شکل زیر هست<?php // Do not delete these linesif ('comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!');if (!empty($post->post_password)) { // if there's a passwordif ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie?><h2><?php _e('Password Protected'); ?></h2><p><?php _e('Enter the password to view comments.'); ?></p><?php return;}}/* This variable is for alternating comment background */$oddcomment = 'alt';?><!-- You can start editing here. --><ol class="commentlist"><?php wp_list_comments('callback=mytheme_comment'); ?></ol><?php if ('open' == $post->comment_status) : ?> <h3 id="respond">نظر بدهید</h3><?php if ( get_option('comment_registration') && !$user_ID ) : ?><p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p><?php else : ?><form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"><p class="comment-desc">لطفا فقط در مورد این مطلب نظر دهید. اگر سوال علمی دارید آن را می توانید در سامانه پرسش و پاسخ علمی دنوج مطرح کنید. اگر می خواهید در کنار نظر خود آواتار خود را به نمایش بگذارید می توانید از سایت <a href="https://fa.gravatar.com/" rel="nofollow">گراوتار</a> استفاده کنید.</p><?php if ( $user_ID ) : ?><p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout »</a></p><?php else : ?><div class="fields-box"><p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="40" tabindex="1" placeholder="نام (لازم)" /></p><p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="40" tabindex="2" placeholder="ايميل (لازم)" /></p><p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="40" tabindex="3" placeholder="سايت" /></p></div><?php endif; ?><textarea name="comment" id="comment" placeholder="نظر شما..." ></textarea><input name="submit" type="submit" id="submit" tabindex="5" value="ارسال نظر" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /><?php do_action('comment_form', $post->ID); ?></form><?php endif; // If registration required and not logged in ?><?php endif; // if you delete this the sky will fall on your head ?>داخل فانکشن هم کد زیر را قرار دادم<?phpfunction 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="<?php/* Only use the adminComment class from style.css if the user_id is 1 (admin) */if (1 == $comment->user_id)$oddcomment = "adminComment";echo $oddcomment;?>"> <?php endif; ?> <div class="comments-top"> <figure class="gravatar"> <?php if(function_exists('get_avatar')) { echo get_avatar($comment, '70'); } ?> </figure> <div class="commentmetadata"><?php comment_author_link() ?><span class="comment-date"><?php comment_date('j F Y') ?></span><?php if ($comment->comment_approved == '0') : ?> <em class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.') ?></em> <?php endif; ?> </div> </div> <div class="commentdata"> <?php comment_text() ?> </div> <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 }حالا زمانی که پستی نظر داشت می خواهم بالای نظرات یک عنوان بنویسم بعد این عنوان فقط برای مواقعی که پست نظر داشت ظاهر بشه نقل قول لینک به ارسال
Parsa 23463 ارسال شده در تیر 92 گزارش بازنشر ارسال شده در تیر 92 خب راه حل گفته شد 1 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در تیر 92 مالک گزارش بازنشر ارسال شده در تیر 92 خب راه حل گفته شدمن کد زیر را در فایل comments.php گذاشتم ولی برای مطالبی که نظر هم ندارند متن را نشان می دهد. این کد را باید کجا یگذارم تا درست جواب بده؟<?phpif(wp_count_comments( post_id ))echo 'title';?> نقل قول لینک به ارسال
Parsa 23463 ارسال شده در تیر 92 گزارش بازنشر ارسال شده در تیر 92 <?phpif(wp_count_comments( $post->ID ))echo 'title';?> 2 نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در تیر 92 مالک گزارش بازنشر ارسال شده در تیر 92 <?phpif(wp_count_comments( $post->ID ))echo 'title';?>بازم مثل قبل مشکل داره نقل قول لینک به ارسال
Morteza 34190 ارسال شده در تیر 92 گزارش بازنشر ارسال شده در تیر 92 شما این کدها رو از پوسته ی خاصی گرفتید یا اینکه خودتون از تاپیک ها جمع کردید؟چون کدهای استاندارد اصلی نیستن. نقل قول لینک به ارسال
سعید شعبانی 2047 ارسال شده در تیر 92 مالک گزارش بازنشر ارسال شده در تیر 92 شما این کدها رو از پوسته ی خاصی گرفتید یا اینکه خودتون از تاپیک ها جمع کردید؟چون کدهای استاندارد اصلی نیستن.از تاپیک ها و آموزش های مختلف کد ها را جمع کردم. اگر میشه هر سه کد استاندارد زیر را اینجا بگذارید1- کدی که باید در single.php بگذارم2- کد های استاندارد comments.php به همراه مدل دیدگاه های تو در تو3- کد های مربوط به دیدگاه های تو در تو که باید در فانکشن قرار بگیرد نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .