رفتن به مطلب

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


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

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

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

لینک به ارسال

با تابع 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 قرار دهید

لینک به ارسال

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

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

ممنون از شما

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

لینک به ارسال

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

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

باید از این کد استفاده کنی گسترشم بدی چیزایی جالی از توش در میاد ( این کد باید در 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);

لینک به ارسال

با افزونه Yoast WordPress SEO این ویژگی ها اضاف شده ولی چجوری باید آنها را فراخوانی کرد؟

لینک به ارسال

باید از این کد استفاده کنی گسترشم بدی چیزایی جالی از توش در میاد ( این کد باید در 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 پاک بشه اطلاعاتی که در این فیلد ها وارد شده از بین می روند یا اطلاعات این فیلد ها ذخیره شده و می توان از آنها استفاده کرد؟

لینک به ارسال

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

لینک به ارسال

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

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

لینک به ارسال

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

لینک به ارسال

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


<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

لینک به ارسال


<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 } ?>

لینک به ارسال

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 } ?>

لینک به ارسال

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

لینک به ارسال

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

لینک به ارسال

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


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

لینک به ارسال

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


<?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
لینک به ارسال

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

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

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

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

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

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

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

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

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