কাস্টম পোস্ট প্রকারের সেটিংস পৃষ্ঠাটি সংরক্ষণাগারটি প্রদর্শনের জন্য পৃষ্ঠাটি চয়ন করুন


12

সুতরাং, আমি এই পোস্টের স্বীকৃত উত্তরটি অনুসরণ করেছি কাস্টম পোস্টের ধরণের জন্য 'সামনের পৃষ্ঠা প্রদর্শনগুলি' সেটিংয়ে অন্য একটি সেটিংস যুক্ত করা সম্ভব

তবে পুরোপুরি কাজ করেনি, এই পোস্টে গৃহীত উত্তরের তুলনায় তুলনা করতে হবে।

Do_settings_sections আউটপুট করতে পারবেন না। বুঝতে পারছি না কেন

এখন, এটি নিচের কোডটি ব্যবহার করে আসলে কাজ করে

//Add settings to menu
add_action( 'admin_menu', 'events_options_add_page' );
function events_options_add_page() {
//  add_submenu_page('edit.php?post_type=events', 'Events Admin', 'Events Settings', 'edit_posts', basename(__FILE__), 'events_options_do_page');
    add_submenu_page('edit.php?post_type=events', 'Events Admin', 'Events Settings', 'edit_posts', basename(__FILE__), 'events_options_do_page');
}
///wordpress/32689/possible-to-add-another-setting-to-front-page-displays-setting-for-custom-post


//Fix Cap to allow editors to edit theme options
function events_get_options_page_cap() {
    return 'edit_posts';    
}
add_filter('option_page_capability_events-options', 'events_get_options_page_cap' );


function events_options_do_page() {
?>
    <div class="wrap">
        <?php screen_icon(); ?>
        <h2><?php _e( 'Events Options', 'FoundationPress' ); ?></h2>
        <form action="options.php" method="post">
            <?php
            settings_fields( "events_settings_options" );
            do_settings_sections( "edit_posts" );
            ?>
            <?php submit_button( __( "Save changes", "FoundationPress" ), "primary", "submit", true ); ?>
        </form>
    </div>
    <?php
}

//Register Settings
add_action( 'admin_init', 'events_settings_register' );

function events_settings_register() {
    register_setting( "events_settings_options", "events_settings_options", "events_settings_validate" ); //Register main settings
//  add_settings_section( "events_cpt_settings", __( "Events Page Settings", "FoundationPress" ), "events_settings_dummy", "edit_posts"  ); //Make settings text section
//  add_settings_field( "events_settings_cpt_page", __( "Page for events", "FoundationPress" ), "events_settings_page_select", "edit_posts", "events_settings_options" );
    add_settings_section( "events_cpt_settings", __( "Events Page Settings", "FoundationPress" ), "events_settings_dummy", "edit_posts"  ); //Make settings text section
    add_settings_field( "events_settings_cpt_page", __( "Page for events", "FoundationPress" ), "events_settings_page_select", "edit_posts", "events_cpt_settings" );
}

function events_settings_dummy() {}

//Validate Settings
function events_settings_validate ($input) {
    $valid = get_option ( "events_settings_options" );
    $valid['events_page'] = (int) $input['events_page'];
    return $valid;  
}

//Settings Fields
function events_settings_page_select() {
    $options = get_option( 'events_settings_options' );
    wp_dropdown_pages(
        array(
            'name' => 'events_settings_options[events_page]',
            'echo' => 1,
            'show_option_none' => __( '&mdash; Select &mdash;' ),
            'option_none_value' => '0',
            'selected' => $options['events_page']
        )
    ); 
}

এটি কাজ করার জন্য আমি দুটি উদাহরণের মধ্যে পার্থক্য লক্ষ্য করেছি এবং do_settings_sections সম্পাদনা_পেষ্টগুলিতে পরিবর্তন করেছি ... এখন আমার মনে উদ্দেশ্য অনুমতি বা দক্ষতার জন্য, আমি অন্যান্য বিট চেষ্টা করেছি তবে ঠিক এলো আপনার অনুমতি নেই ইত্যাদি etc ওয়ার্ডপ্রেস।

কেউ দয়া করে আমার কোডটি কিছুটা বোঝাতে সহায়তা করতে পারেন? আমি চেনাশোনাগুলিতে ঘুরেছি এবং এটির চোখের আরও কয়েকটি সেট প্রশস্তভাবে প্রশংসা করব।

এর পরে আমার এটি তৈরি করা দরকার যাতে পৃষ্ঠাটি আমার কাস্টম পোস্ট ধরণের সংরক্ষণাগারগুলি লোড করার জন্য কেবল পঠন পৃষ্ঠায় পৃষ্ঠাগুলি সেট করার মতো কাজ করে।

অনেক ধন্যবাদ বন্ধুরা!

সম্পাদনা করুন:

ধাক্কা খেয়ে, মরিয়া হয়ে এই সম্পর্কে কিছু সহায়তা প্রয়োজন! পেপাল একটি বিয়ারের ঠিক করার জন্য খুশি!


কেউ কি আদৌ সহায়তা করতে পারে?
লুক ওয়াল

এটি কাজ করা উচিত. আমি আপনার কোড পরীক্ষা করেছি। বা আপনার এখানে অন্য কিছুর সাহায্য দরকার?
iantsch

আপনার প্রশ্নটি পড়া আমি নিশ্চিত নই যে আপনাকে কীসের সাহায্যের প্রয়োজন তা এখানে একটি উত্তর যা আপনাকে একটি
পৃষ্ঠাগুলি

আপনি কি কেবল কাস্টম পোস্টের ধরণের জন্য একটি কাস্টম টেম্পলেট রাখার লক্ষ্য রেখেছেন?
স্ল্যাম

উত্তর:


1

একটি কাস্টম পোস্ট টাইপ সেটিংস পৃষ্ঠা থেকে সংরক্ষণাগার পৃষ্ঠা হিসাবে একটি সাধারণ ওয়ার্ডপ্রেস পৃষ্ঠা সংযুক্ত করার একটি নোংরা (আসলে নরকের মতো আসলে নোংরা) উপায় রয়েছে।

আপনাকে প্রথমে নিবন্ধভুক্ত পোস্ট টাইপ করতে হবে এবং আবার তৈরি করতে হবে। আপনি যদি কাস্টম যুক্তি ব্যবহার না করেন বা যথেষ্ট সাহসী হন তবে এই কোডটি ব্যবহার করে দেখুন।

আপনার সেটিংস পৃষ্ঠার এই কোড টুকরো টুকরোটি যুক্ত করুন।

if(isset($_GET['settings-updated']) && $_GET['settings-updated'] == true){
    //Dirty as hell
    $esettings = get_option ( "events_settings_options" );
    $getslug = get_post_field('post_name',$esettings['events_page']);

    unregister_post_type('events');
    register_post_type('events',array(
        'public' => true,
        'rewrite' => array('slug'=>'events'),
        'has_archive' => $getslug,
    ));
    //Needed for automated rewrite rules
    flush_rewrite_rules();
    //To test the functionality
    echo get_post_type_archive_link( 'events' );
}

1
এটি আমাকে কেবল এটি পড়ার কারণে নোংরা মনে করেছে, তবে আমি মুগ্ধ।
মাইকএনগারেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.