따라서이 게시물의 허용 된 답변을 따랐습니다. 사용자 정의 게시물 유형의 '전면 페이지 표시'설정에 다른 설정을 추가 할 수 있습니다
그러나 완전히 작동하지는 않았지만이 게시물의 허용 된 답변과 비교해야했습니다.
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' => __( '— Select —' ),
'option_none_value' => '0',
'selected' => $options['events_page']
)
);
}
그것을 작동 시키려면 두 예제 사이의 차이점을 발견하고 do_settings_sections를 edit_posts로 변경했습니다 ... 이제 목적은 권한 또는 기능을위한 것이므로 다른 비트를 시도했지만 다른 권한은 가지고 있지 않습니다. 워드 프레스.
아무도 내 코드를 이해하도록 도와 줄 수 있습니까? 나는 원을 그리며 돌아 다녔고 또 다른 눈 세트를 넘어서 고맙게 생각할 것입니다.
그런 다음 사용자 정의 게시물 유형 아카이브를로드하기 위해 실제로 페이지가 읽기 페이지의 페이지 설정과 동일하게 작동하도록해야합니다.
많은 감사합니다!
편집하다:
부딪히는 데 필사적으로 도움이 필요합니다! 수정을 위해 맥주를 넘겨 주셔서 감사합니다!
아무도 도와 줄 수 있습니까?
—
Luke Wale
작동해야합니다. 코드를 테스트했습니다. 아니면 다른 도움이 필요하십니까?
—
iantsch
질문 읽기 도움이 필요한 것이 확실하지 않지만 페이지 템플릿을 아카이브 페이지로
—
Howdy_McGee
단순히 사용자 정의 게시물 유형에 대한 사용자 정의 템플리트를 갖는 것이 목표입니까?
—
슬램