رفتن به مطلب

ساخت فایل comments.php از کد اماده


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

سلام خدمت تمامی دوستان . من تازه عضور شدم . هرچند که کسایی که تو این انجمن هستند مجبور به کمک کردن نیستن ولی خب من تا حالا سه تا موضوع رو بیان کردم ولی هیچکس حتی جوابی هم نداد در صورتی که میدونم خیلیا هستند که راه حلو میدونن . امیدوارم این درخواستم عملی بشه .

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

<div class="bg-middle">
<div class="tbl">
<div class="lbar" style="width:650px">
<div class="sing-ads">
<img src="http://dl2.mybia2music.com/Music/1394/04/11/Banner/clan.gif" width="620">
</div>
<!-- You can start editing here. -->
<div class="comments">
<h2>Leave A <span class="co-h-c">Comment</span> </h2>
<div class="comm-form">
<form action="http://www.mybia2music.com/wbh/wp-comments-post.php" method="post" id="commentform" name="commform" onsubmit="return validateForm()">
<div class="comm-left">
<input type="text" name="author" id="author" value="salam" class="comm-f-name" placeholder="Your Name" tabindex="1" required />
<input type="text" name="email" id="email" value="salam@gmail.com" class="comm-f-email" placeholder="Your Email" tabindex="2" required />
<input type="text" name="website" id="website" value="" class="comm-f-web" placeholder="Your Website" tabindex="3" />
<div class="comm-vote">
<h3>Your Vote</h3>
<div class="star">
<div class="c-vote"></div>
<div class="c-vote"></div>
<div class="c-vote"></div>
<div class="c-vote"></div>
<div class="c-vote"></div>
</div>
</div>
<input type="submit" id="submit" value="Send Your Message" class="comm-f-submit" tabindex="5"/>
<input type="hidden" name="comment_post_ID" value="113822320" />
</div>
<!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> </code></small></p>-->
<textarea id="comment" placeholder="Your Message" name="comment" tabindex="4" required></textarea>
<br class="cl">
<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="f193e51854" /></p><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="178"/></p></form>
</div>
</div>
<div class="user-comm">
<div class="u-c-avatar">
<img alt='' src='http://0.gravatar.com/avatar/348698a396fd64bcad922b55e38dab0d?s=96&d=mm&r=g' srcset='http://0.gravatar.com/avatar/348698a396fd64bcad922b55e38dab0d?s=192&d=mm&r=g 2x' class='avatar avatar-96 photo' height='96' width='96' /></div>
<div class="u-c-info">
<div class="u-c-name">
meysam</div>
<div class="u-c-date">
In 1394/06/28 10:08 ب.ظ
</div>
<div class="u-c-like">
</div>
<hr />
</div>
<div class="u-c-cont">
<p>احمد صفایی واقعا از درون شکسته صداش بینظیره</p>

</div>
</div>
<div class="user-comm">
<div class="u-c-avatar">
<img alt='' src='http://2.gravatar.com/avatar/5dc829cc8fcc0e0658927703fb8b2b4f?s=96&d=mm&r=g' srcset='http://2.gravatar.com/avatar/5dc829cc8fcc0e0658927703fb8b2b4f?s=192&d=mm&r=g 2x' class='avatar avatar-96 photo' height='96' width='96' /></div>
<div class="u-c-info">
<div class="u-c-name">
Music6</div>
<div class="u-c-date">
In 1394/06/28 11:03 ب.ظ
</div>
<div class="u-c-like">
</div>
<hr />
</div>
<div class="u-c-cont">
<p>نسبت به اهنگ قبلیت خیلی بهتر بود. تنکس</p>

</div>
</div>
</div>

حالا اینو چطوری با توابع کامنت گذاری وردپرس درست کنیم که با قرار دادن اون توی comments.php عمل کنه ؟

با دیدن توابع کامنت گذاری و فایل های کامنت تم قالب های پیشفرض وردپرس هم چیزی نفهمیدم . :(

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

لینک به ارسال

سلام ، خب ببینید دلیل اینکه سؤالات شما پاسخ داده نمیشن این هست که سؤالاتتون که من الآن پاسخ دادم (یعنی تاپیک های دیگه اتون) جنبه شخصی داره و توضیحات هم واقعاً ناقص بود.

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

مثلاً همین تاپیک ، این تاپیک کلاً شخصی هست و خب کس دیگه ای به هیچ عنوان به دردش نمیخوره ، مگر اینکه شما خودتون کار رو شروع کنین و اگر به مشکل برخوردید سؤال بپرسید درمورد توابع تا ما پاسخ بدیم

_____________

پس من یه پاسخ کلّی میدم خودتون بقیّه راه رو برید.

برای گرفتن نظرات اوّل باید از کد زیر استفاده کنید.

wp_list_comments()

خب توی این تابع باید یه type مشخّص کنید که comments هست

بعد باید یه callback مشخّص کنید که یه تابع هست که توی functions.php فراخوانی شده (مثل mytheme_comment)

حالا اون تابع رو باید توی funtions.php مشخّص کنید که میشه کد HTML بالای شما

با کد زیر شروع میشه

function mytheme_comment($comment, $args, $depth) {

برای مثال این کد زیر یک قالب دیدگاه رو نمایش میده:

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

<div class="commentbox">
<?php echo get_avatar($comment,$size='75' ); ?>
<div class="headd"> <?php printf(__('%s '), get_comment_author_link()) ?>در تاریخ:<?php comment_date(__('l d F Y ','kubrick')) ?></span></div>
<?php comment_text() ?>
<div class="clear"></div>
</div
<?php if ($comment->comment_approved == '0') : ?>
<?php _e(' <small>نظر شما منتظر تاييد مديريت سايت است.</small>'); ?>
<?php endif;
}
?>

در واقع برای هر دیدگاه یه بار تابع بالا نمایش داده میشه با قالبش (شما باید همین کد های HTML بالا رو تغییر بدید به کد های خودتون)

________________

راه دوم هم که خیلی خیلی آسون تره استفاده از get_comments هست

اگر لینک زیر رو ببینید به راحتی براتون قابل تشخیصه

https://codex.wordpress.org/Function_Reference/get_comments

فقط یه توضیحی در مورد لینک بالا باید بدم ، Parameters یعنی یه سری قوانین که شما بهش میدین (که مثلاً از فلان تاریخ تا فلان تاریخ رو نمایش بده)

و Returns یه سری اطلّاعات هست که از دیدگاه به دست میاد (مثل نام نویسنده یا ایمیلش یا محتویات کامنت)

کافیه فقط اسم های کاربر های بالا رو مثلاً با $comments->comment_author جایگزین کنید.

موفّق باشید.

لینک به ارسال
  • 3 هفته بعد...

قسمت کامنت وردپرس کمی پیچیده است و کمتر کسی میره سراغ نوشتنش ، اکثرا یه فایل کامنت آماده استفاده و تغییرات مد نظرشون را درش اعمال میکنند.

توصیه من هم همین است ، کد زیر یه تیکه کد کامنت استاندارد هست. به جای اینکه توابع را درون کدهاتون بزارید بهتره کد هاتون را درون توابع بزارید :


<?php
// Do not delete these lines
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die ('Please do not load this page directly. Thanks!');
if ( post_password_required() ) { ?>
<p class="nocomments" ><?php _e('This post is password protected. Enter the password to view comments.'); ?></p>
<?php
return;
}
?>
<?php if ( have_comments() ) : ?>
<h3 id="comments"><?php printf( _n( 'One Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ),
number_format_i18n( get_comments_number() ), '“' . get_the_title() . '”' ); ?></h3>
<div class="navigation">
<div class="alignleft"><?php previous_comments_link() ?></div>
<div class="alignright"><?php next_comments_link() ?></div>
</div>
<ol class="commentlist">
<?php wp_list_comments(//"callback=CALLBACK_FUNCTION");?>
</ol>
<div class="navigation">
<div class="alignleft"><?php previous_comments_link() ?></div>
<div class="alignright"><?php next_comments_link() ?></div>
</div>
<?php else : // this is displayed if there are no comments so far ?>
<?php if ( comments_open() ) : ?>
<!-- If comments are open, but there are no comments. -->

<?php else : // comments are closed ?>
<!-- If comments are closed. -->
<p class="nocomments"><?php _e('Comments are closed.'); ?></p>
<?php endif; ?>
<?php endif; ?>
<?php if ( comments_open() ) : ?>
<div id="respond">
<h3><?php comment_form_title( __('Leave a Reply'), __('Leave a Reply to %s' ) ); ?></h3>
<div id="cancel-comment-reply">
<small><?php cancel_comment_reply_link() ?></small>
</div>
<?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
<p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.'), wp_login_url( get_permalink() )); ?></p>
<?php else : ?>
<form action="<?php echo site_url(); ?>/wp-comments-post.php" method="post" id="commentform">
<?php if ( is_user_logged_in() ) : ?>
<p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.'), get_edit_user_link(), $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php esc_attr_e('Log out of this account'); ?>">
<?php _e('Log out »'); ?></a></p>
<?php else : ?>
<p><input type="text" name="author" class="comment-field" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true' required"; ?> />
<label for="author"><small><?php _e('Name'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>
<p><input type="email" class="comment-field" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true' required"; ?> />
<label for="email"><small><?php _e('Mail (will not be published)'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>
<p><input type="url" class="comment-field" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
<label for="url"><small><?php _e('Website'); ?></small></label></p>
<?php endif; ?>
<p><small><?php printf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>'), allowed_tags()); ?></small></p>
<p><textarea name="comment" class="comment-field textarea" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
<p><input name="submit" type="submit" id="submit" tabindex="5" class="submit-button" value="<?php esc_attr_e('Submit Comment'); ?>" />
<?php comment_id_fields(); ?>
</p>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; // If registration required and not logged in ?>
</div>
<?php endif; // if you delete this the sky will fall on your head ?>

انجام این کار هم وقت گیره پس به عهده خودتونه چون وظیه ما هدایت کاربران است

لینک به ارسال

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

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

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

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

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

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

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

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

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