নতুন সাইট সাইনআপ পৃষ্ঠা থেকে কোন ব্যবহারকারীকে কোন থিমটি ইনস্টল করতে চান তা চয়ন করার অনুমতি দেওয়া কি সম্ভব? এবং একবার সাইটটি তৈরি হয়ে গেলে, তারা অবশ্যই যে কোনও থিম নির্বাচন করেছিল এটি ইনস্টল হয়ে যায়।
আমি wp_get_themes পেয়েছি । আপনি কীভাবে উপলভ্য সমস্ত থিমের সাথে ড্রপডাউন মেনুটিকে প্রাক-জনপ্রিয় করতে যাবেন? কীভাবে থিমের তথ্যকে আসল সাইনআপ প্রক্রিয়ায় পাস করবেন যাতে সঠিক থিমটি সহ সাইটটি তৈরি করা হয়?
কেউ যদি গ্র্যাভিটি ফর্মগুলির সাথে এটি কীভাবে করতে জানেন তবে সেটিও দুর্দান্ত।
হালনাগাদ:
আমার এখন অবধি যা আছে তা এখানে, এটি শিশু থিমগুলিকে বিবেচনায় নেয় না, তার পরে এটি কাজ করবে
এই ফাংশনটি রেডিও বোতামগুলির সাথে থিমগুলির একটি তালিকা আউটপুট করে, _POST ['কাস্টম_থমে'] এ নির্বাচিত থিমটি সংরক্ষণ করবে
/**
* Show list of themes at bottom of wp-signup.php (multisite)
*/
function 70169_add_signup_extra_fields() { ?>
Themes<br />
<?php
$themes = wp_get_themes();
foreach ( $themes as $theme ) {
$theme_name = $theme['Name'];
$theme_stylesheet = $theme->stylesheet;
?>
<label>
<input id="<?php echo $theme_stylesheet; ?>" type="radio" <?php if ( isset( $_POST['custom_theme'] ) ) checked( $_POST['custom_theme'], $theme_stylesheet ); ?> name="custom_theme" value="<?php echo $theme_stylesheet; ?>" ><?php echo $theme_name; ?>
</label>
<?php } ?>
<?php }
add_action( 'signup_extra_fields', '70169_add_signup_extra_fields' );
আমি ভেবেছিলাম যে থিমের মানটি সাইট তৈরির পথে পাস করার উপায় হিসাবে আমি একটি লুকানো ক্ষেত্র যুক্ত করব। যদিও এর সাথে কিছু ভুল আছে - শেষ ধাপে এটির মূল্য হারাবে, এখনও কেন তা নিশ্চিত নয়।
/**
* Add a hidden field with the theme's value
*/
function 70169_theme_hidden_fields() { ?>
<?php
$theme = isset( $_POST['custom_theme'] ) ? $_POST['custom_theme'] : null;
?>
<input type="hidden" name="user_theme" value="<?php echo $theme; ?>" />
<?php }
add_action( 'signup_hidden_fields', '70169_theme_hidden_fields' );
এবং অবশেষে নতুন তৈরি করা সাইটটিতে থিমের নামটি স্থান দেওয়ার জন্য একটি ফাংশন। আমি যদি ভেরিয়েবলগুলি হার্ডকোড করি তবে এটি কাজ করে তবে আমি এখনও কাস্টম_থমেটির মানটি পাস করতে পারছি না। সাইটটি দুর্দান্ত তৈরি হয়েছে তবে টেমপ্লেট এবং স্টাইলশিটের বিকল্পগুলি ফাঁকা। আমি চেষ্টা করুক না কেন এটি কেবল মূল্য পাচ্ছে না। আমার ধারণা আমি আগে তৈরি গোপন ক্ষেত্রটি অ্যাক্সেস করতে আমাকে G _GET ব্যবহার করতে হবে। আবার, এই মুহুর্তে আমি যা করতে চাই তা হ'ল একই থিমের নামটি টেম্পলেট এবং স্টাইলশিট বিকল্পগুলিতে প্রেরণ করা, আমি এটি কাজ করার পরে কীভাবে সেগুলি আলাদা করতে পারি তা নির্ধারণ করব।
/**
* Create the new site with the theme name
*/
function 70169_wpmu_new_blog( $blog_id ) {
// need to get this working, use $_GET?
// $theme = ???
update_blog_option( $blog_id, 'template', $theme ); // $theme works if I hardcode it with a theme name
update_blog_option( $blog_id, 'stylesheet', $theme );
}
add_action( 'wpmu_new_blog', '70169_wpmu_new_blog' );