رفتن به مطلب

استفاده از متن اماده


m1410

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

با سلام و درود به دوستان

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

مثل این :
دانلود موزیک ----- به نام -----
میخوام ------ هارو با استفاده از زمینه دلخواه از مدیر سایت بگیره و خودکار متن رو بالای پست قرار بده
اینکار هم میخوام با سه متن و بر اساس دسته بندی موزیک و ویدیو و آلبوم انجام بده. یعنی برای هر کدوم یه متن جدا که مثلاً با انتخاب دسته یا تعریف نوع انجام بده
ممنون میشم راهنمایی بفرمایید
تا حدودی میدونم باید زمینه تعریف کرد و .... ولی نمیدونم متن رو کجا قرار بدم و چطوری و اینکه چطوری سه متن مختلف رو از هم تفکیک کنم بر اساس دسته یا نوع

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

درود.

توسط افزونه ACF یک گروه زمینه دلخواه بسازید شامل این موارد :

  • سه فیلد از نوع Radio برای دسته بندی : موزیک / موزیک ویدیو / آلبوم و ... (به تعداد نیاز)
  • فیلد های اضافه از نوع Text برای نام خواننده و نام موزیک

 

سپس کد زیر رو قبل از تابع the_content در فایل single.php و index.php قرار بدید:

<?php if( get_field( "musics" ) ): ?>
<p>دانلود آهنگ <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

<?php if( get_field( "musicvideo" ) ): ?>
<p>دانلود موزیک ویدیو <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

<?php if( get_field( "albums" ) ): ?>
<p>دانلود آلبوم <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

 

در کد بالا سه دستور شرطی مجزا تعریف کردم . بجای musics و musicvideo و albums در واقع باید شناسه فیلدهای Radio دسته بندی محتوا رو وارد کنید. داخل دستورات شرطی هم محتوایی که باید در صورت انتخاب شدن اونها نمایش داده بشه.

 

این دستور شرطی رو هم میتونید با if و elseif و else هم بنویسید که در این پاسخ فقط خواستم نحوه ی شرطی کردن زمینه دلخواه رو بهتون یادم بدم و فرض رو بر این گذاشتم که نحوه بکار گرفتن دستور شرطی رو بلدید.

 

موفق باشید.

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

تشکر از شما برا کمک و کد

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

لینک ها تنها برای اعضای سایت قابل نمایش است.

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

درود مجدد.

هم خودتون میتونید کد نویسی کنید هم از افزونه ها استفاده کنید. افزونه های لینک ها تنها برای اعضای سایت قابل نمایش است. در مخزن وردپرس زیاد هستند که اکثرا هم قابلیت لیست پخش رو دارند. در این لینک می تونید این افزونه ها رو مشاهده و در صورت تمایل یکی از اونها رو انتخاب کنید.

 

اگر هم خواستید توسط کدها ، یک موزیک پلیر روی سایتتون پیاده کنید، لینک ها تنها برای اعضای سایت قابل نمایش است. تعداد زیادی از انواع موزیک پلیرها با استایل های مختلف قرار داده شده که می تونید دانلود و استفاده کنید.

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

ممنون از راهنماییهاتون

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

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

چطور باید فایل js رو ویرایش کنم ؟ یه بخش به نام mediaPath داره که باید ادرس پوشه موزیک رو داد اما تو js که نمیشه از زمینه دلخواه استفاده کرد میشه ؟

لینک ها تنها برای اعضای سایت قابل نمایش است.

لینک ها تنها برای اعضای سایت قابل نمایش است.

 

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

  • 3 هفته پیش...

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

ممنون میشم راهنمایی بفرمایید

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

درود مجدد و تبریک سال نو خدمت شما.

 

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

اما راهی که شما می خواهید در واقع آسون تر از اون مورد هست. به این صورت که اساس شرط ما بر این خواهد بود که پست فعلی در چه دسته بندی ساخته شده و بر اساس اون دسته بندی خاص، یک متن ثابت از پیش تعریف شده رو نمایش بده.

پس برای اینکار، کد قبلی رو به صورت زیر اصلاح می کنیم:

<?php if( in_category('music') ): ?>
<p>دانلود آهنگ <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

<?php if( in_category('music-video') ): ?>
<p>دانلود موزیک ویدیو <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

<?php if( in_category('album') ): ?>
<p>دانلود آلبوم <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

در کد بالا دستوراتی مانند in_category('album') تعیین می کنند که آیا پست در دسته بندی آلبوم با نامک Album ارسال شده یا خیر.

برای استفاده هم، دسته بندی های مورد نظرتون رو چک کنید که نامک یا همون Slug دسته بندی به انگلیسی باشه و در کد بالا داخل بخش شرط واردشون کنید. همونطور هم که میبینید، بخش اول شرط از دسته بندی ها استفاده شده و برای محتوای ثابت داخلشون هم از زمینه دلخواه.

 

موفق باشید.

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

در در 2 فروردین 1397 در 02:33، Masih گفته است :

درود مجدد و تبریک سال نو خدمت شما.

 

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

اما راهی که شما می خواهید در واقع آسون تر از اون مورد هست. به این صورت که اساس شرط ما بر این خواهد بود که پست فعلی در چه دسته بندی ساخته شده و بر اساس اون دسته بندی خاص، یک متن ثابت از پیش تعریف شده رو نمایش بده.

پس برای اینکار، کد قبلی رو به صورت زیر اصلاح می کنیم:


<?php if( in_category('music') ): ?>
<p>دانلود آهنگ <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

<?php if( in_category('music-video') ): ?>
<p>دانلود موزیک ویدیو <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

<?php if( in_category('album') ): ?>
<p>دانلود آلبوم <?php the_field( "musicname" ); ?>  از خواننده <?php the_field( "singer" ); ?></p>
<?php endif; ?>

در کد بالا دستوراتی مانند in_category('album') تعیین می کنند که آیا پست در دسته بندی آلبوم با نامک Album ارسال شده یا خیر.

برای استفاده هم، دسته بندی های مورد نظرتون رو چک کنید که نامک یا همون Slug دسته بندی به انگلیسی باشه و در کد بالا داخل بخش شرط واردشون کنید. همونطور هم که میبینید، بخش اول شرط از دسته بندی ها استفاده شده و برای محتوای ثابت داخلشون هم از زمینه دلخواه.

 

موفق باشید.

تشکر از پاسخ هاتون
در این کد چطور میشه از حروف بزرگ استفاده کرد ؟ مثلاً همین musicname رو اینطور نوشت musicName
من اینگونه استفاده کردم اما فایل فانکشن مث اینکه قبول نمیکنه و بخش دریافت متن رو خالی میکنی پس از انتشار مطلب
راهی هست ؟

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

شما باید از حروف کوچک برای نام زمینه ها استفاده کنید. استفاده از حروف بزرگ در برخی از توابع و دستورات خاص در PHP امکان پذیره. در این بخش شما نمی تونید از حروف بزرگ استفاده کنید.

اگر میخواهید کلمات رو به صورت مشخص از هم جدا کنید و قابل خواندن باشند، می تونید بجای musicname، کلمه music_name رو در بخش نام زمینه وارد کنید. یعنی با خط تیره زیرین از هم جدا کنید که مشکلی پیش نمیاره. ولی حرف بزرگ نباید استفاده کنید.

 

موفق باشید

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

تشکر از پاسختون

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

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

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

چون برای بخش اطلاعات اضافه در هنگام ایجاد مطلب جدید، از 3 روش میشه استفاده کرد :

  1. متاباکس
  2. زمینه دلخواه داخلی خود وردپرس
  3. زمینه دلخواه ساخته شده توسط ACF

 

حالا ببینید قالب قبلی از چی استفاده میکنه، از همون کد استفاده کنید.

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

ممنون از پاسختون.من قالب قبلی رو چک کردم.در قسمت فانکشن لینک شده به بخش دیگه ای به نام inc/Metabox در اونجا ویدیو و موزیک و آلبوم دارای صفحه های جدا هستن بعد کدهای زیر استفاده شده :

$music_0 = get_post_meta( $post->ID, '_music0', true );
echo '<label>';
_e( 'نام خواننده:' );
echo '</label> ';
echo '<input  type="text"  name="music_0" value="'.esc_attr($music_0).'" size="25" /> <br>';

بخش ادامه مطلب رو چک میکنم کدی که نام خواننده رو نمایش میده به شکل زیره :

<ul class="fm-detail">

 <li class="pull-right">

<span>خــوانــنـــده:</span>

<?php echo $aut;?>

</li>

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

سرچ کردم تو همون متاباکس موزیک و این کد رو پیدا کردم آخرش :

global $post;
$title = ($post->post_title);
$newtitle = explode('-',$title);
$aut = $newtitle[0];
$nameMusic = $newtitle[1];

$my_var0 = sanitize_text_field( $_POST['music_0'] );
update_post_meta( $post_id, '_music0', $aut );

$my_var1 = sanitize_text_field( $_POST['music_1'] );
update_post_meta( $post_id, '_music1', $nameMusic );

ممنون میشم یه توضیح بدید چی به چیه و چطور باید اینارو با قالب جدید مچ کنم

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

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

برای اینکار هم میتونید تمامی متاباکس ها (کدهای مربوطه) رو در قالب یک فایل ذخیره کنید و در فایل functions.php فراخوانی کنید.

در غیراینصورت تمامی داده های ذخیره شده قبلی از دست خواهند رفت. بعد از اینکه متاباکس ها رو وارد قالب جدید کردید، میتونید از توابعی که در قالب قبلی برای دریافت اطلاعات استفاده شده، استفاده کنید. یا اینکه با استفاده از لینک ها تنها برای اعضای سایت قابل نمایش است. ، اطلاعات رو توسط توابع خلاصه دریافت و نمایش بدید.

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

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

<?php 

							global $post;

							$title = ($post->post_title);

							$newtitle = explode('-',$title);

							$aut = $newtitle[0];

							$nameMusic = $newtitle[1];

							$music_1 = get_post_meta( $post->ID, '_music1', true );

							$music_2 = get_post_meta( $post->ID, 'lyric_m', true );

							$music_3 = get_post_meta( $post->ID, 'arrange', true );

							$music_4 = get_post_meta( $post->ID, 'melody', true );

							$music_5 = get_post_meta( $post->ID, 'genre', true );

							$music_7 = get_post_meta( $post->ID, '_music7', true );							

							$Link_0 = get_post_meta( $post->ID, 'mp3320', true );

							$Link_1 = get_post_meta( $post->ID, 'mp3128', true );

							$Link_2 = get_post_meta( $post->ID, '_Linkdl2', true );

							$Link_3 = get_post_meta( $post->ID, 'wav', true );

							$Link_4 = get_post_meta( $post->ID, '_Linkdl4', true );	

							$album_3 = get_post_meta( $post->ID, 'zip-320', true );		

							$album_5 = get_post_meta( $post->ID, 'zip-128', true );	

							$album_4 = get_post_meta( $post->ID, '_album4', true );	

							$mid_var = get_post_meta($post->ID, 'itunes', true);							

						?>

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

فیلدهایی که قالب از قبل داره رو پاک کنم ؟!‌ لینکی که دادید رو چک کردم چیزی سر در نیاوردم ممنون میشم خودتون توضیح بدید چی به چیه و چطور باید اطلاعات رو از توابع خلاصه نمایش بدم.خودش برا راخوانی از این کد استفاده کرده : <?php echo $aut;?> ولی برا من چیزی نمیاره

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

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

سلام و درود

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

if(!empty($_POST['music_2'])) {
        add_post_meta($post_id, 'music_2', addslashes($_POST['music_2']), true);
        update_post_meta($post_id, 'music_2', addslashes($_POST['music_2']), get_post_meta($post->ID, '_music2', true));
    }
    if(empty($_POST['music_2'])){
        delete_post_meta($post_id,'music_2',get_post_meta($post->ID,'_music2',true));
    }

کد اصلیم هم این هستش :

				<tr>
                    <td><label for="">نام ترانه سرا را وارد کنید</label></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td><input name="music_2" value="<?php if(get_post_meta($post->ID,'_music2',true) !=""){ echo get_post_meta($post->ID,'_music2',true);} ?>" type="text"/></td>
                </tr>

اما وقتی پشت منتشر میشه باکس خالی میشه
راه حل چیه ؟

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

  • 2 هفته پیش...
در در 9 فروردین 1397 در 21:47، m1410 گفته است :

سلام و درود

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


if(!empty($_POST['music_2'])) {
        add_post_meta($post_id, 'music_2', addslashes($_POST['music_2']), true);
        update_post_meta($post_id, 'music_2', addslashes($_POST['music_2']), get_post_meta($post->ID, '_music2', true));
    }
    if(empty($_POST['music_2'])){
        delete_post_meta($post_id,'music_2',get_post_meta($post->ID,'_music2',true));
    }

کد اصلیم هم این هستش :


				<tr>
                    <td><label for="">نام ترانه سرا را وارد کنید</label></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td><input name="music_2" value="<?php if(get_post_meta($post->ID,'_music2',true) !=""){ echo get_post_meta($post->ID,'_music2',true);} ?>" type="text"/></td>
                </tr>

اما وقتی پشت منتشر میشه باکس خالی میشه
راه حل چیه ؟

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

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

درود.

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

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

<?php if(get_post_meta($post->ID,'_music2',true) !=""){ echo get_post_meta($post->ID,'_music2',true);} ?>

بجای _music2 هم باید شناسه هر متاباکس رو وارد کنید.

دقیقا مثل زمینه دلخواه هست. یعنی توسط توابع یا افزونه ACF فیلدهایی تعریف می کنید و توسط تابع مخصوص که در همین پاسخ هم دادم، میتونید اطلاعات ذخیره شده داخل اون فیلدها رو برای پست ها نمایش بدید.

تنها کاری که باید بکنید اینه که توابع تعریف متاباکس رو دقیق وارد قالب جدید کنید.

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

بایگانی شده

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

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...