رفتن به مطلب

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


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

با سلام به دوستان عزیز

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

  • امتیاز 1
لینک به ارسال

با تابع the_author_meta میتوانید مشخصات نویسنده را چاپ کنید

برای مثال: توضیحات

<?php the_author_meta('description'); ?>

موارد استفاده:


user_login
user_pass
user_nicename
user_email
user_url
user_registered
user_activation_key
user_status
display_name
nickname
first_name
last_name
description
jabber
aim
yim
user_level
user_firstname
user_lastname
user_description
rich_editing
comment_shortcuts
admin_color
plugins_per_page
plugins_last_view
ID

تعداد پستها:


<?php the_author_posts(); ?>

کدها را در فایل single.php قرار دهید

  • امتیاز 11
لینک به ارسال

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

اسم افزونه ای که میفرمایید چیست ؟

ممنون از شما

Parsa عزیز واقعا کامل بود متشکرم.

  • امتیاز 2
لینک به ارسال

برای دریافت لینک پروفایل نویسنده ها در شبکه های اجتماعی باید چیکار کنیم؟ (مثل فیسبوک,گوگل پلاس, توییتر و سایت نویسنده)

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

باید از این کد استفاده کنی گسترشم بدی چیزایی جالی از توش در میاد ( این کد باید در functions.php قرار بگیرد )


function my_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';


return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);

  • امتیاز 6
لینک به ارسال

باید از این کد استفاده کنی گسترشم بدی چیزایی جالی از توش در میاد ( این کد باید در functions.php قرار بگیرد )


function my_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';


return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);

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

  • امتیاز 1
لینک به ارسال

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

  • امتیاز 2
لینک به ارسال

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

بعد با چه کدی می شه این داده ها را فراخوانی کرد؟

  • امتیاز 1
لینک به ارسال

مهرداد جان ممنون فقط من نفهمیدم آدرس وبلاگ یا سایت نویسنده را با چه کدی باید فراخوانی کنیم؟

لینک به ارسال

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


<a href="<?php the_author_meta('gplus'); ?>" class="gplus">گوگل پلاس</a>
<a href="<?php the_author_meta('facebook'); ?>" class="facebook">فیسبوک</a>
<a href="<?php the_author_meta('twitter'); ?>" class="twitter">توییتر</a>
<a href="<?php the_author_meta('linkedin'); ?>" class="linkedin">لینکداین</a>
<a href="<?php the_author_meta('user_email'); ?>" class="email">ایمیل</a>
<a href="<?php the_author_meta('user_url '); ?>" class="url">سایت</a>

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

لینک به ارسال

با get_the_author_meta میتوانید مشخصات را بدون چاپ کردن بخوانید و بررسی وجود مقدار (همانند زمینه دلخواه)

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

  • امتیاز 2
لینک به ارسال


<a href="<?php get_the_author_meta('gplus'); ?>" class="gplus">گوگل پلاس</a>
<a href="<?php get_the_author_meta('facebook'); ?>" class="facebook">فیسبوک</a>
<a href="<?php get_the_author_meta('twitter'); ?>" class="twitter">توییتر</a>
<a href="<?php get_the_author_meta('linkedin'); ?>" class="linkedin">لینکداین</a>
<a href="<?php get_the_author_meta('user_email'); ?>" class="email">ایمیل</a>
<a href="<?php get_the_author_meta('user_url '); ?>" class="url">سایت</a>

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


<a href="" class="gplus">گوگل پلاس</a>
<a href="" class="facebook">فیسبوک</a>
<a href="" class="twitter">توییتر</a>
<a href="" class="linkedin">لینکداین</a>
<a href="" class="email">ایمیل</a>
<a href="" class="url">سایت</a>

آیا می شود از کد های get_the_author_meta یا the_author_meta به گونه ای استفاده کرد که بدون استفاده از <a href=""> </a> به آنها لینک داده شود؟ اگر پاسخ صحیح است چگونه؟

---------------------

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

متشکرم

لینک به ارسال

get_the_author_meta همانند get_post_meta هست که چندین بار توضیح داده شده:


<?php if(! empty(get_the_author_meta('gplus'))){ ?>
<a href="<?php the_author_meta('gplus'); ?>" class="gplus">گوگل پلاس</a>
<?php } ?>

  • امتیاز 2
لینک به ارسال

get_the_author_meta همانند get_post_meta هست که چندین بار توضیح داده شده:


<?php if(! empty(get_the_author_meta('gplus'))){ ?>
<a href="<?php the_author_meta('gplus'); ?>" class="gplus">گوگل پلاس</a>
<?php } ?>

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

post-412-0-69065900-1361298144_thumb.png

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

تست دوباره:


<?php if($gplus = get_the_author_meta('gplus')){ ?>
<a href="<?php rcho $gplus ?>" class="gplus">گوگل پلاس</a>
<?php } ?>

  • امتیاز 2
لینک به ارسال

پارسا جان درست شد فقط در کد بالا باید جای echo , rcho قرار می دادید (فکر کنم اشتباه تایپی بوده)

لینک به ارسال

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

لینک به ارسال

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


<?php
$gplus = get_the_author_meta('gplus');
$facebook = get_the_author_meta('facebook');
if($gplus && $facebook){ ?>
نوشته شما
<?php } ?>

  • امتیاز 1
لینک به ارسال

این شرط من هست ببینید درسته؟


<?php
$url = get_the_author_meta('url');
$googleplus = get_the_author_meta('googleplus');
$facebook = get_the_author_meta('facebook');
$twitter = get_the_author_meta('twitter');
$linkedin = get_the_author_meta('linkedin');
if($url && $googleplus && $facebook && $twitter && linkedin ){ ?>
<a href="<?php echo $url ?>" class="Icone-url">وب سایت </a> 
<a href="<?php echo $googleplus ?>" class="Icone-gplus">گوگل + </a> 
<a href="<?php echo $facebook ?>" class="Icone-facebook">فیس بوک </a> 
<a href="<?php echo $twitter ?>" class="Icone-twitter">تویتر </a> 
<a href="<?php echo $linkedin ?>" class="Icone-linkedin">لینکداین </a>
<?php } ?>

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

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

لینک به ارسال

فرض کن من یه ف ی س ب و ک دارم یه گ و گ ل پلاس یه ت و ی ی ت ر خوب


<?php
$facebook_url = ( isset( get_the_author_meta('facebook') ) && !empty( get_the_author_meta('facebook') )
? '<a href="'.get_the_author_meta('facebook').'" class="icone-facebook">فیس بوک </a>'."\n";
: '';
$googleplus_url = ( isset( get_the_author_meta('googleplus') ) && !empty( get_the_author_meta('googleplus') )
? '<a href="'.get_the_author_meta('googleplus').'" class="icone-gplus">گوگل + </a>'."\n";
: '';
$twitter_url = ( isset( get_the_author_meta('twitter') ) && !empty( get_the_author_meta('twitter') )
? '<a href="'.get_the_author_meta('twitter').'" class="icone-twitter">تویتر </a>'."\n";
: '';
echo $facebook_url.$googleplus_url.$twitter_url;
?>

موقع استفاده از css selector name حتما توصیه میشه CamelCase rules رعایت شه .

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

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...