我需要在下拉列表中获得所有页面的列表,这样我就可以获得要存储在插件选项中的所选页面的页面id。
现在我有:
?>
<input name=\'wpplf23_plugin_options[thankyou_page]\' type=\'number\' value=\'<?php if ( ( isset( $options[\'thankyou_page\'] ) ) ) { echo $options[\'thankyou_page\']; } ?>\' />
<?php
只需手动存储id。
我找到了以下代码:
$args = array(
\'depth\' => 0,
\'child_of\' => 0,
\'selected\' => 0,
\'echo\' => 1,
\'name\' => \'page_id\',
\'id\' => null, // string
\'class\' => null, // string
\'show_option_none\' => null, // string
\'show_option_no_change\' => null, // string
\'option_none_value\' => null, // string
);
wp_dropdown_pages( $args );
但我不知道如何让它做我需要的事情。我该怎么办?
谢谢你能为我提供的任何帮助。
SO网友:LWS-Mo
Iam使用以下代码在插件选项页面上显示页面选择下拉菜单。
如果您选择一个页面并将其保存,下次访问选项网站时,您还将看到保存了哪个页面。(因此不再“选择页面”)
您可以使用WordPress selected()函数,您可以在此处找到更多详细信息:https://codex.wordpress.org/Function_Reference/selected
$options = get_option( \'my_settings\' ); ?>
<select name=\'my_settings[selected_page]\'>
<option value=\'0\'><?php _e(\'Select a Page\', \'textdomain\'); ?></option>
<?php $pages = get_pages(); ?>
<?php foreach( $pages as $page ) { ?>
<option value=\'<?php echo $page->ID; ?>\' <?php selected( $options[\'selected_page\'], $page->ID ); ?> ><?php echo $page->post_title; ?></option>
<?php }; ?>
</select>
您只需获取字段的当前保存值,然后使用WP
selected()函数将当前保存的值与
$page->ID
.
也许这可以帮助你。