• اطلاعیه ها

    • Saeed Fard

      برگزاری میتاپ وردپرسی   14/08/96

      بعد از اولین دوره همایش وردپرس در ایران اگر پیگیر اخبار وردپرس بوده باشید، حتما خبر برگزاری چندین میتاپ و جلسه متعدد وردپرسی را شنیده‌اید، یکی از بحث‌های اصلی که محور اصلی این میتاپ‌ها بوده است برگزاری وردکمپ بود که به طور جدی دنبال می‌شود. این میتاپ‌ها و جلسات توسط جمعی از فعلان حوزه وردپرس در کنار وردپرس‌پارسی برگزار می‌شد و مسائل مربوط به این حیطه و از جمله وردکمپ مورد بحث قرار می‌گرفت. این بار با رایزنی‌هایی که با تیم اصلی وردپرس داشتیم در بخش دوم این رویدادها قصد داریم که میتاپ‌ها و جلسات وردپرسی را به صورت آزاد برگزار کنیم تا تمامی علاقه‌مندان و دوست‌داران وردپرس فرصت حضور داشته باشند و با گردهمایی، جامعه کاملتری از دوست داران وردپرس بسازیم و از تجربیات یکدیگر استفاده کنیم.   بدیهی است که این رویدادها با رویکرد مثبت در جهت سود رسانی به جامعه وردپرس و افراد حاضر در آن برگزار می‌شود و برای تمامی علاقه‌مندان به وردپرس است. پس اگر یک کاربر معمولی وردپرس یا یک توسعه دهنده هستید می‌توانید در این رویدادها شرکت کنید. ما در ملاقات‌هایمان از موارد مختلف و کاربردی وردپرس صحبت می‌کنیم و علاقمند به توسعه هر چه بیشتر وردپرس در ایران هستیم. ما وردپرس را دوست داریم. عضویت در این گروه برای همه افرادی که مایل به پیوستن هستند بدون در نظرگرفتن توانایی‌ها، مهارت‌ها، وضعیت مالی و یا معیارهای دیگر باز و رایگان است. فضای میتاپ‌ها و جلسات ما دوستانه و آزادنه و دور از هرگونه تبعیض و رفتارهای زننده است. بر این اساس از تمامی دوستانی که علاقه‌مند به شرکت در میتاپ‌های وردپرس هستند دعوت می‌شود تا از طریق لینک زیر در سایت میتاپ اقدام به ثبت‌نام کنند و منتظر خبرهای برگزاری جلسات در آینده باشند . لینک ثبت نام و عضویت : https://www.meetup.com/Iran-WordPress-Meetup    
مریم مقبولی

تبدیل قالب نظرات به وردپرس

8 پست در این موضوع قرار دارد

با سلام

از انجمن خوبتون ممنونیم

من در حال تبدیل یه قالب اچ تی ام ال به وردپرس هستم که تقریبا تمامی مراحل رو به درستی پیش رفتم به کمک آموزش ها

ولی واقعا در تبدیل قالب نظرات گیج شدم

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

از دوستان خواهش میکنم قالب اچ تی ام ال نظرات منو به وردپرس تبدیل کنه

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

دقیقا این کد هارو


<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و ... !-->
<div class="nazarat">
***
<!-- شروع حلقه نظرات!-->
<div class="list-comment">
<div class="avcom">
<!-- تابع نمایش آواتار کاربر با سایز 85 <img> !-->
<span class="arrow"></span>
</div>
<div class="comment-send">
<a href="<!--لینک پروفایل ارسال کننده نظر!-->" rel="nofollow" title="<!-- نام ارسال کننده نظر!-->" style="display: block;margin-top:15px;"><!-- نام ارسال کننده نظر!--></a>
<span style="display: block;"><!-- تاریخ ارسال نظر!--></span>
<!-- نقل قول!-->
<a href="">نقل قول</a>
<!-- /نقل قول!-->
</div>
<div class="nogte2"></div>
<div class="matncom"><!-- متن کامنت کاربر در اینجا قرار میگیرد!--></div>
</div>
<!-- /پایان حلقه نظرات!-->
***

</div>
<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و .../ !-->

<!-- فرم ارسال نظر!-->
<div class="nazarat" style="height: 150px;">
<div class="moshkh">
<label for="name">نام : </label>
<input id="name" name="author" class="comment-textfield" value="" aria-required="true">
<br>
<label for="email">ایمیل : </label>
<input id="email" name="email" class="comment-textfield" value="" aria-required="true" style="text-align:left;">
<br>
<label for="website">سایت : </label>
<input id="website" name="url" class="comment-textfield" value="" style="text-align:left;direction:ltr;">
</div>
<div class="sendcm">
<textarea id="comment" name="comment" aria-required="true" class="comment-textfield" placeholder="دیدگاه : "></textarea>
</div>
<div>
<button type="submit" class="btsend">
ارسال پیام
</button>
</div>
</div>
<!-- پایان فرم ارسال نظر!-->

0

به اشتراک گذاری این پست


لینک به پست

بخش نظراتتون اینجوری در هر حال ناقصه

این فایل را دانلود کنید و فایل index.html را بازکنید

comments-generator-data.zip

فایل به صورت واضح دسترسیتون رو برای بخش هایی که می تونید شخصی سازی کنید باز می کنه بعد از شخصی سازی کلاس ها و تگ ها روی کلید ساخت کد در زیر صفحه بزنید و کدهایی که براتون ایجاد می شه را در یک سند به نام comments.php ذخیره کنید و اعلام کنید تا در مورد باقی کدها که باید در functions.php قرار بگیرند راهنماییتون کنم

1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

با سلام دوباره خدمات شما آقای فخار عزیز

کد هارو تبدیل کردم و قسمت ارسال نظر با موفقیت تموم شد اما قسمت نمایش نظرات اصلا تابعی نداشت !

کد های html نمایش نظراتم اینجوری بود


<div class="list-comment">
<div class="avcom">
<!-- تابع نمایش آواتار کاربر با سایز 85 <img> !-->
<span class="arrow"></span>
</div>
<div class="comment-send">
<a href="<!--لینک پروفایل ارسال کننده نظر!-->" rel="nofollow" title="<!-- نام ارسال کننده نظر!-->" style="display: block;margin-top:15px;"><!-- نام ارسال کننده نظر!--></a>
<span style="display: block;"><!-- تاریخ ارسال نظر!--></span>
<!-- نقل قول!-->
<a href="">نقل قول</a>
<!-- /نقل قول!-->
</div>
<div class="nogte2"></div>
<div class="matncom"><!-- متن کامنت کاربر در اینجا قرار میگیرد!--></div>
</div>

که طبق گفته اون generator پاکش کردم به جاش کد زیر رو گذاشتم


<ol class="commentlist">
<?php wp_list_comments("callback=callback_function");?>
</ol>

حالا کد های نمایش نظرات باید از کجا شخصی سازی بشه ؟ فعلا که تست نکردم نظری رو نمایش میده یا نه

در کل

تمامی کد ها شد این


<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و ... !-->
<div class="nazarat">
<?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() ) : ?>
<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; ?>

</div>
<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و .../ !-->
<!-- فرم ارسال نظر!-->
<?php if ( comments_open() ) : ?>
<div class="nazarat" id="respond" style="height: 150px;">
<div id="cancel-comment-reply">
<small><?php cancel_comment_reply_link() ?></small>
</div>
<?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
<?php else : ?>
<div class="moshkh">
<form action="<?php echo site_url(); ?>/wp-comments-post.php" method="post" id="commentform">
<?php if ( is_user_logged_in() ) : ?>
<label for="author">نام : </label>
<input disabled="disabled" style="background: #D9CEE2;" type="text" name="author" class="comment-field" id="author" value="<?php printf(__('%2$s'), get_edit_user_link(), $user_identity); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true' required"; ?> />
<br>
<label for="email">ایمیل : </label>
<input disabled="disabled" style="text-align: left;background: #D9CEE2;" type="email" class="comment-field" name="email" id="email" value="<?php global $current_user;
get_currentuserinfo();
echo '' . $current_user->user_email . "\n";
?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true' required"; ?> />
<br>
<label for="url">سایت : </label>
<input disabled="disabled" type="url" class="comment-field" style="text-align: left;background: #D9CEE2;" name="url" id="url" value="<?php global $current_user;
get_currentuserinfo();
echo '' . $current_user->user_url . "\n";
?>" size="22" tabindex="3" />
</div>
<div class="sendcm">
<textarea id="comment" name="comment" aria-required="true" class="comment-textfield" placeholder="دیدگاه : "></textarea>
</div>
<div>
<input name="submit" type="submit" id="submit" tabindex="5" class="btsend" value="ارسال پیام" />
<?php comment_id_fields(); ?>
<?php do_action('comment_form', $post->ID); ?>
<?php else : ?>
<label for="author">نام : </label>
<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"; ?> />
<br>
<label for="email">ایمیل : </label>
<input type="email" style="text-align: left;" 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"; ?> />
<br>
<label for="url">سایت : </label>
<input type="url" style="text-align: left;" class="comment-field" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
</div>
<div class="sendcm">
<textarea id="comment" name="comment" aria-required="true" class="comment-textfield" placeholder="دیدگاه : "></textarea>
</div>
<div>
<input name="submit" type="submit" id="submit" tabindex="5" class="btsend" value="ارسال پیام" />
<?php comment_id_fields(); ?>
<?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 ?>
<?php endif; // if you delete this the sky will fall on your head ?>
</div>
<!-- پایان فرم ارسال نظر!-->

ببخشید زیاد حرف زدم

لطفا جهت ادامه کار راهنماییم کنید .

ویرایش شده در توسط مریم مقبولی
0

به اشتراک گذاری این پست


لینک به پست


function callback_function($comment, $args, $depth)
{
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div class="list-comment">
<div class="avcom">
<?php echo get_avatar($comment,$size='86',$default='<path_to_url>' ); ?> <!-- تابع نمایش آواتار کاربر با سایز 85 <img> !-->
<span class="arrow"></span>
</div>
<div class="comment-send">
<!--<a href="لینک پروفایل ارسال کننده نظر!" rel="nofollow" title="نام ارسال کننده نظر" style="display: block;margin-top:15px;">نام ارسال کننده نظر</a>-->
<?php
$comment_user_id = $comment->user_id;
$gupc = get_user_posts_count($comment_user_id);
if($comment_user_id>0 and $gupc>0) {
echo '<a href="'.home_url('/?author='.$comment_user_id).'">';
comment_author();
echo '</a>';
}
else {
comment_author_link();
} ?>
<span style="display: block;"><?php printf(__('%1$s at %2$s', 'fakhar'), get_comment_date(), get_comment_time()) ?><!-- تاریخ ارسال نظر!--></span>
<!-- نقل قول!-->
<?php comment_reply_link(array_merge( $args, array( 'before' => '<div class="btn btn-default">','after' => '</div>','depth' => $depth, 'max_depth' => $args['max_depth']))) ?><!-- /نقل قول!-->
</div>
<div class="nogte2"></div>
<div class="matncom"><!-- متن کامنت کاربر در اینجا قرار میگیرد!--><?php comment_text() ?></div>
</div>
<?php
}

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

2. شما لینک ویرایش را پیش بینی نکرده بودید این تابعشه هرجا خواستید بگذاریدش


<?php edit_comment_link(__('edit', 'fakhar'),' ','') ?>

3. هر جا در کدها fakhar هست می تونید با تکست دامین قالب عوضش کنید تا با poedit بتونید بخش مربوطه اش رو ترجمه کنید ولی اگر می خواهید در قالب فارسی نویسی کنید فقط مقدار داخل کوتیشن قبل از fakhar را فارسی کنید

مثلا


__('edit', 'fakhar');
__('ویرایش', 'fakhar');

کدها را در داخل تگ php فایل functions.php قالبتون کپی کنید

2

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

ممنون آقای فخار که پیگیر هستید.

کد هایی که فرموده بودینو بدون هیچ تغییری و با اضافه کردن تگ <?php و <? در فایل فانکشن اضافه کردم

اما هیچ نظری لود نشد با اینکه چند تا نظر تست هم ارسال کردم و از مدیریت تایید کردم.

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


<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و ... !-->
<div class="nazarat">
<?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() ) : ?>
<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() ) : ?>
<!-- اگر کامنت ها باز بودند. -->
<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 : // comments are closed ?>
<!-- اگر کامنت ها بسته بودند. -->
<p class="nocomments"><?php _e('Comments are closed.'); ?></p>
<?php endif; ?>
<?php endif; ?>

</div>
<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و .../ !-->

که خروجیش در سورس میشه این


<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و ... !-->
<div class="nazarat">
<!-- اگر کامنت ها باز بودند. -->
<ol class="commentlist">
</ol>
<div class="navigation">
<div class="alignleft"></div>
<div class="alignright"></div>
</div>

</div>
<!--نمایش نظرات ارسالی به همراه نظرات نقل قولی و .../ !-->

پیش میشه نتیجه گرفت که نظری بین تگ ol لود نمیشه.

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

ممنون میشم وقتتونو چند دقیقه برای این کد ها بزارید و دوباره چکشون کنید.

تشکر

ویرایش شده در توسط مریم مقبولی
0

به اشتراک گذاری این پست


لینک به پست

CALLBACK_FUNCTION را در این کدها با حروف بزرگ نوشتید در کدهای قبلی با حروف کوچک حالا در هر دو فایل بجاش یک کلمه دیگه بنویسید مثلا maryam_comments و در هر دو فایل هم با حروف کوچک

فایل کامنت باید اسمش comments.php و فانکشنز هم functions.php باشه اس جمع فراموش نشه

به بقیه ساختار کدهایی که دادم دست نزنید

از


<ol class="commentlist">
<?php wp_list_comments("callback=CALLBACK_FUNCTION");?>
</ol>

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

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

1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

واقعا ایول دارید استاد !

مشکل از نام فایل comments.php بود که من اسمشو یه چیز دیگه گذاشته بودم و از طریق include فراخوانیش میکردم که با تغییر نام و استفاده تابع فراخوانی فایل کامنت نظرات لود شدند ولی ارور داد که در لاین 25 فانکشن ناشناخته ای وجود دارد.

خط 25 بود کدش این بود


$gupc = get_user_posts_count($comment_user_id);

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


$gupc = get_posts($comment_user_id);

بعدش کامنت ها به خوبی لود میشن فقط ایرادی که مونده آواتارشون نمیاد و ارورد 404 میدن و سپس به صفحه فیلترینک هدایت میشن

خروجی لینک عکس به این صورت در میاد


http://1.gravatar.com/avatar/fea98c9bf91d4b66d91aeae20199d99e?s=86&d=%3Cpath_to_url%3E&r=G

به نظرم تگ <path_to_url> اجرا نمیشه.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

حل شد. سپاس استاد فخار عزیز.

ویرایش شده در توسط مریم مقبولی
1

به اشتراک گذاری این پست


لینک به پست

این تابع


$gupc = get_user_posts_count($comment_user_id);

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


function get_user_posts_count($user_ID){
$args = array('author' => $user_ID, 'posts_per_page' => -1);
$the_query = new WP_Query( $args );
if ($the_query->post_count > 0){
return $the_query->post_count;
}
else{
return 0;
}
}

این کد باعث می شه نام نظر دهندگانی که در سایت بایگانی مطالب دارند بجای وبلاگشون به صفحه ی مطالبشون در سایت لینک بشه

2

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری