gpt4 book ai didi

php - 排序和显示自定义帖子类型 Wordpress

转载 作者:可可西里 更新时间:2023-10-31 23:29:57 24 4
gpt4 key购买 nike

所以我有一个选项页面,并创建了以下代码:

add_action('admin_menu', 'add_global_custom_options');
add_theme_support( 'post-formats', array( 'Random', 'Order', 'Category' ) );
function add_global_custom_options()
{
add_options_page('Sort Registrar List', 'Sort Registrar List', 'manage_options', 'functions','global_custom_options');
}

function global_custom_options()
{
$options = array (
'random' => array(
'post_type' => 'registrar',
'posts_per_page' => -1,
'orderby' => 'rand'
),
'category' => array(
'post_type' => 'registrar',
'posts_per_page' => -1,
'orderby' => 'ASC'
),
'menu_order' => array(
'post_type' => 'registrar',
'posts_per_page' => -1,
'orderby' => 'DESC'
)
);

?>
<div class="wrap">
<h2>Sort Registrar List</h2>
<form method="post" action="">
<?php wp_nonce_field('update-options') ?>
<p><strong>Display Randomly:</strong><br />
<input type="radio" name="random" size="45" value="<?php echo get_option('random'); ?>" />
</p>
<p><strong>Display by Category:</strong><br />
<input type="radio" name="category" size="45" value="<?php echo get_option('category'); ?>" />
</p>
<p><strong>Display By Order:</strong><br />
<input type="radio" name="order" size="45" value="<?php echo get_option('menu_order'); ?>" />
</p>
<p><input type="submit" name="Submit" value="Store Options" /></p>
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="random,category,menu_order" />
</form>
</div>
<?php
}
?>

但是我有点不知道如何让我的页面显示选中的值。它应该随机显示自定义帖子类型 - 按顺序或按类别显示,具体取决于在管理面板的选项页面中选择的内容。

有没有人有办法做到这一点?

最佳答案

设置不是 100% 正确,您从未点击 options.php 来处理更新,并且您忘记了 esc_attr;此示例正在运行,但它需要更多更改才能 100% 完成您需要的操作,但您可以在此处找到有关如何执行此操作的一些线索 How can I set and get the values of a multiple select with the Wordpress settings API for a theme options page? ;

function add_global_custom_options(){
add_options_page(
'Sort Registrar List',
'Sort Registrar List',
'manage_options',
'order_by_options',
'global_custom_options'
);

add_action('admin_init', 'register_new_options');
}
add_action('admin_menu', 'add_global_custom_options');

function register_new_options(){
register_setting( 'global_custom_option', 'register_new_option_random' );
register_setting( 'global_custom_option', 'register_new_option_category' );
register_setting( 'global_custom_option', 'register_new_option_menu_order' );
}
add_action('admin_init', 'register_new_option');

function global_custom_options(){


//this look unsed.... for debugger it is ;)
$options = array (
'random' => array(
'post_type' => 'download',
'posts_per_page' => -1,
'orderby' => 'rand'
),
'category' => array(
'post_type' => 'download',
'posts_per_page' => -1,
'orderby' => 'ASC'
),
'menu_order' => array(
'post_type' => 'download',
'posts_per_page' => -1,
'orderby' => 'DESC'
)
);

?>
<div class="wrap">
<h2>Sort Registrar List</h2>

<form method="post" action="options.php">
<?php settings_fields( 'global_custom_option' ); ?>
<?php do_settings_sections( 'global_custom_option' ); ?>
<table class="form-table">
<tr valign="top">
<th scope="row">Display Randomly</th>
<td><input type="text" name="register_new_option_random" value="<?php echo esc_attr( get_option('register_new_option_random') ); ?>" /></td>
</tr>

<tr valign="top">
<th scope="row">Display by Category:</th>
<td><input type="text" name="register_new_option_category" value="<?php echo esc_attr( get_option('register_new_option_category') ); ?>" /></td>
</tr>

<tr valign="top">
<th scope="row">Display By Order:</th>
<td><input type="text" name="register_new_option_menu_order" value="<?php echo esc_attr( get_option('register_new_option_menu_order') ); ?>" /></td>
</tr>
</table>
<?php submit_button(); ?>
</form>
</div>
<?php
}

关于php - 排序和显示自定义帖子类型 Wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com