رفتن به مطلب
xcode

تعویض کد فراخوانی "عنوان" با "نامک لاتین"

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

من یه پلاگین دارم که مطالب برگزیده رو تو فوتر لیست میکنه،

اما چون عنوان مطالب یکم طولانیه قالب به هم میریزه،

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

یعنی میخوام تقریبا مثل این تصویر در بیاد: http://img.fars-gsm.net/?di=DVNS

برای فراخوانی نامک لاتین و تنظیم موقعیت " 6امتیاز" و نام لاتین در کنار تصویر باید از کجا شروع کنم ؟

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

<div class="mostliked_post_meta">
<h4 class="mostliked_post_title">
guid ?>" title="<?php echo $post->post_title ?>"><?php echo $post->post_title ?>
</h4>

میشه جوری تغییرش بدم که به جاش نام لاتین فذاخوانی بشه ؟

ممنون میشم راهنمایی کنید،

پ.ن: واقعا نا امید شدم دیگه از بس تو این انجمن و اون انجمن سوال کردیمو جواب نگرفتیم! امیدوارم اینجا همونجوری باشه که میگین !

پیشاپیش تشکر از اساتید عزیز این انجمن ;)

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


لینک به ارسال

خوش آمدید

برای چاپ نامک میتوانید کد زیر را

echo $post->post_title

به

echo $post->post_name

تغییر دهید

اما چندان ظاهر خوبی پیدا نمیکند

پس تعداد حروف عنوان را با کد زیر محدود کنید:

<?php
mb_internal_encoding("UTF-8");
$ptitle = mb_substr($post->post_title,0,30);
?>

30 تعداد کاراکتر خروجی هست

برای استفاده از کد زیر استفاده کنید

<?php echo $ptitle ?>

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


لینک به ارسال

برای فراخوانی نامک لاتین و تنظیم موقعیت " 6امتیاز" و نام لاتین در کنار تصویر باید از کجا شروع کنم ؟

برای دریافت slug نوشته میتونید بدین صورت اقدام کنید


<?php
$post_obj = $wp_query->get_queried_object();
$post_slug = $post_obj->post_name;
echo $post_slug;
?>

اگر هم با - در slug مشکل داشتید میتونید با str_replace اون رو تصحیح کنید.

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


لینک به ارسال

خوش آمدید

برای چاپ نامک میتوانید کد زیر را

echo $post->post_title

به

echo $post->post_name

تغییر دهید

اما چندان ظاهر خوبی پیدا نمیکند

پس تعداد حروف عنوان را با کد زیر محدود کنید:

<?php
mb_internal_encoding("UTF-8");
$ptitle = mb_substr($post->post_title,0,30);
?>

30 تعداد کاراکتر خروجی هست

برای استفاده از کد زیر استفاده کنید

<?php echo $ptitle ?>

ممنون پارسا جان!

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

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


<div class="mostliked_post_meta">
<h4 class="mostliked_post_title">
<a href="<?php echo $post->guid ?>" title="<?php echo $post->post_name ?>"><?php echo $post->post_name ?></a>

اما بینش به جای space "-" میاد، عکس رو ببینید: http://img.fars-gsm.net/?di=7J16

و اینکه حروف بزرگ رو هم کوچیک مینویسه، مثلا MODERN رو میکنه modern!!!

میشه کاری کرد ؟

برای دریافت slug نوشته میتونید بدین صورت اقدام کنید


<?php
$post_obj = $wp_query->get_queried_object();
$post_slug = $post_obj->post_name;
echo $post_slug;
?>

اگر هم با - در slug مشکل داشتید میتونید با str_replace اون رو تصحیح کنید.

ممنون مصطفی جان،

اما من یکمی تازه کارم، متوجه نشدم کدی که معرفی کردین رو دقیقا کجا باید استفاده کنم! slug؟؟؟

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


لینک به ارسال

اینطوری که من فهمیدم!

بهترین راه استفاده از 2 عنوان برای نوشته است

عنوان اول که معمولی است

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

اگر موافق بودین بفرمایید تا بیشتر راهنماییتان کنیم.

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


لینک به ارسال

slug همون نامک هست.

چون در نامک حروف بزرگ وجود نداره برای شما همه رو حرف کوچیک برمیگردونه.

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


لینک به ارسال

اینطوری که من فهمیدم!

بهترین راه استفاده از 2 عنوان برای نوشته است

عنوان اول که معمولی است

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

اگر موافق بودین بفرمایید تا بیشتر راهنماییتان کنیم.

دقیقا همین رو نیاز داریم، یعنی اینکه یه فیلد در زیمنه دلخواه تعریف کنیم و بعد از داخل افزونه برترینها، اون فیلد رو فراخوانی کنیم!

خیلی کار داره ؟

امکانش هست راهنمایی کنید؟

slug همون نامک هست.

چون در نامک حروف بزرگ وجود نداره برای شما همه رو حرف کوچیک برمیگردونه.

درسته، ممنون مرتضی جان!

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


لینک به ارسال

پس بهتره این قطعه کد را در محلی که میخواهید عنوان شماره 2 نمایش داده بشه را قرار دهید.

<?php echo get_post_meta($post->ID, "title_2", true); ?>

title_2 شماره 2 هم نام زمینه دلخواه شما میشود.

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


لینک به ارسال

پس بهتره این قطعه کد را در محلی که میخواهید عنوان شماره 2 نمایش داده بشه را قرار دهید.

<?php echo get_post_meta($post->ID, "title_2", true); ?>

title_2 شماره 2 هم نام زمینه دلخواه شما میشود.

عالی شد مصطفی جان!

تصویر: http://img.fars-gsm.net/?di=92ON

فقط اینکه،

نمیدونم فونت و رنگ و استایل ایتالیک این title 2 از کجا ست شده، تو تگ h4 هست اما این تگ رو پیدا نمیکنم تو css افزونه برای ادیت،

و اینکه میشه این دو خط ( یعنی عنوان 2 و تعداد امتیاز ها ) رو بیارم کنار تصویر شاخص؟

کد کامل قسمت ویجت افزونه :


<?php

add_action( 'widgets_init', 'wizylike_widget' );

// registers the widget
function wizylike_widget() {
register_widget( 'WizyLike_Widget' );
} // end wizylike_widget


class WizyLike_Widget extends WP_Widget {

function WizyLike_Widget() {

// Widget settings
$widget_ops = array( 'classname' => 'most-liked', 'description' => 'A widget to display most liked posts' );

// Widget control settings
$control_ops = array('id_base' => 'wizylike-widget' );

// Create the widget
$this->WP_Widget( 'wizylike-widget', 'Most Liked Posts', $widget_ops, $control_ops );

}


function widget($args, $instance) {
global $wpdb, $wl_tablename;
extract($args);

// User-selected settings
$title = apply_filters('widget_title', $instance['title']);
$count = $instance['posts_num'];

// Before widget (defined by themes)
echo $before_widget;

// Title of widget (before and after defined by themes)
if($title)
echo $before_title . $title . $after_title;

$widget_posts = $wpdb->get_results("SELECT * FROM $wpdb->posts
WHERE post_status = 'publish' AND post_type = 'post' ORDER BY like_count DESC LIMIT $count");

if ($widget_posts):
echo '<ul id="wizylike_mostliked">';
foreach ($widget_posts as $post):

$wizylike_disabled = get_post_meta($post->ID, 'wizylike', true);
if(!isset($wizylike_disabled) || $wizylike_disabled != 'disabled'):
?>
<li id="mostliked_post-<?php echo $post->ID ?>">
<?php if(has_post_thumbnail($post->ID)) : ?>
<?php echo get_the_post_thumbnail($post->ID, array(40,40)); ?>
<?php endif; ?>

<div class="mostliked_post_meta">
<h4 class="mostliked_post_title">
<?php echo get_post_meta($post->ID, "title_2", true); ?>

</h4>
<span class="mostliked_like_count">
<?php echo $post->like_count . ' '; if(get_option('wizylike_widget_txt')) echo get_option('wizylike_widget_txt') ?>
</span>
</div>

</li>
<?php
endif;
endforeach;
echo '</ul>';
else :
?>
<ul id="wizylike_mostliked">
<li>
<h2>Not Found</h2>
</li>
</ul>
<?php endif;

// After widget (defined by themes)
echo $after_widget;
}


function update($new_instance, $old_instance) {
$instance = $old_instance;

/* Strip tags (if needed) and update the widget settings. */
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['posts_num'] = strip_tags( $new_instance['posts_num'] );

return $instance;
}


function form( $instance ) {

/* Set up some default widget settings. */
$defaults = array( 'title' => 'Most Liked Posts', 'posts_num' => '5');
$instance = wp_parse_args((array) $instance, $defaults ); ?>

<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label>
<input type="text" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" class="widefat"/>
</p>

<p>
<label for="<?php echo $this->get_field_id( 'posts_num' ); ?>">Number of posts to show:</label>
<input type="text" id="<?php echo $this->get_field_id( 'posts_num' ); ?>" name="<?php echo $this->get_field_name( 'posts_num' ); ?>" value="<?php echo $instance['posts_num']; ?>" size="3"/>
</p>

<?php
}

}

?>

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


لینک به ارسال

مشکل استایل تکست هم حل شد،

اما هر کاری میکنم نمیتونم او ن دوتا خط ( عنوان2 و تعداد امتیاز ها ) رو بیارم کناره تصویر :(

اگه اشتبا نکنم هر چی هست باید تو همین چند خط کد باشه، میشه یه بررسی بکنید؟


<li id="mostliked_post-<?php echo $post->ID ?>">
<?php if(has_post_thumbnail($post->ID)) : ?>
<?php echo get_the_post_thumbnail($post->ID, array(40,40)); ?>
<?php endif; ?>
<div class="mostliked_post_meta">
<h4 class="mostliked_post_title">
<?php echo get_post_meta($post->ID, "title_2", true); ?>

</h4>
<span class="mostliked_like_count">
<?php echo $post->like_count . ' '; if(get_option('wizylike_widget_txt')) echo get_option('wizylike_widget_txt') ?>
</span>
</div>
</li>
<?php
endif;
endforeach;
echo '</ul>';
else :

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


لینک به ارسال

میتونی یک عکس از چیزی که الان هست رو بزاری؟

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


لینک به ارسال

به تگ img در css مقدار float بدید درست میشه.

مثلا :

#mostliked_post img{
float: right;
}

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


لینک به ارسال

ممنون از پیگیری مرتضی جان،

اما مشکل همینجاست، منم گیر همین بودم این float right ya rtl رو کجا بذارم،

اخه تو فایل css تگ img نیست، هرچی هم آزمونو خطا تست کردم اوکی نشد!

در واقع این یه افزونه امتیاز دهی مطالب هست، که من دارم فقط قسمت ویجتش رو ادیت میکنم،

کد کامل ویجت هم بالا گذاشتم،

میشه بگید جای کدی که معرفی کردین دقیقا کجاست؟

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


لینک به ارسال

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

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


لینک به ارسال

کدی که معرفی کردین رو توی فایل style.css قالبم و بین کد های زیر قرار دادم اما اتفاقی نیافتاد، نوشته ها هنوز زیر تصویر هست!!!

جاش درسته مصطفی جان ؟


#wrapper {
width:960px;
margin:0 auto;
}
#header {
position:relative;
height:185px;
background:url(images/bk_header.jpg) 0 51px no-repeat;
}

#mostliked_post img{
float: right;
}

#content {
padding:25px 0;
}

#content #colLeft {
float:left;
width:670px;
margin-right:10px;

}

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


لینک به ارسال

اگه پوسته روی سایت شما و آنلاین بود خیلی راحتتر میشد کمک کرد.

الان اینجوری نمیدونیم خروجی روی سایت شما چی هست.

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


لینک به ارسال

اگه پوسته روی سایت شما و آنلاین بود خیلی راحتتر میشد کمک کرد.

الان اینجوری نمیدونیم خروجی روی سایت شما چی هست.

پوسته سایتم الان آنلاینه دیگه،

متوجه منطورتون نشدم!

اگه امکان داره از طریق ایمیل یا یاهو چت راهنماییم کنید، میتونم فایلها یا کدهایی که نیاز هست رو هم بهتون بدم!

واقعا ممنون میشم اگه وقت بذارید!

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


لینک به ارسال

اگر پوسته آنلاین و سایت شما الان روی نت هست آدرس بدید.

متاسفانه امکان مسنجر ندارم.

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


لینک به ارسال

این کد css و نتیجه هم پیوست شد:

img.wp-post-image{
float:right;
margin: 7px auto auto 5px;
}
h4.mostliked_post_title{
margin-bottom: -10px;
}
#footerInner .boxFooter ul#wizylike_mostliked li {
background-position: right 25px;
padding:5px 18px 15px 6px;
}

post-1-0-39476600-1335515564_thumb.png

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


لینک به ارسال

شما تا حالا کجا بودین ؟ :D

ممنون مرتضی جان، ممنون از همگی،

مشکل بالاخره حل شد اما نه با وردپرس فارسی، با وردپرس پارسی !!!

واقعا من هیچ جا همچین پیگیری ای سریع و با معلومات ندیدم، (البته راجع به wp )

کارتون عالیه، امیدوارم عالی هم باقی بمونه،

در ضمن من اگه اشتباه نکنم هنوز wp-parsi.com رو راه اندازی نکردین

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

کد نویسیم زیاد خوب نیست، اما میتونم تو بخش دانلود قالب یا افزونه های پریمیوم ( البته رایگان :D ) فعالیت کنم!

بازم ممنون از همه اساتید بزرگوار! :wub:

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


لینک به ارسال

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

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

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

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

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

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

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

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


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