У меня есть ссылка вида example.ru/mail/confirm?token=123
?token
- это query параметр, а не обычный, который идет после /
@Get('mail/confirm/:token')
либо вместо @Param()
используйте @Query()
item
тип ServiceDocument
.populate('services')
и используйте serviceModel.deleteMany()
, который принимает массив айдишников для удаления множества документов. customize_register
, добавлять опции и элементы управления с помощью методов add_setting()
и add_control()
$wp_customize->add_setting( 'themeslug_textarea_setting_id', array(
'capability' => 'edit_theme_options',
'default' => 'Lorem Ipsum Dolor Sit amet',
'sanitize_callback' => 'sanitize_textarea_field',
) );
$wp_customize->add_control( 'themeslug_textarea_setting_id', array(
'type' => 'textarea',
'section' => 'custom_section', // Add a default or your own section
'label' => __( 'Custom Text Area' ),
'description' => __( 'This is a custom textarea.' ),
) );
add_action('admin_init','wpse_57647_register_settings');
function wpse_57647_register_settings(){
register_setting(
'general',
'html_guidelines_message',
'textarea' // <--- Customize this if there are multiple fields
);
add_settings_section(
'site-guide',
'Publishing Guidelines',
'__return_false',
'general'
);
add_settings_field(
'html_guidelines_message',
'Enter custom message',
'wpse_57647_print_text_editor',
'general',
'site-guide'
);
}
/*
* Print settings field content
*/
function wpse_57647_print_text_editor(){
$the_guides=!empty(get_option('html_guidelines_message'))?html_entity_decode(get_option('html_guidelines_message')):'';
echo '<textarea cols="44" placeholder="'.__('Поле для ввода текста','VAB').'"name="html_guidelines_message" id="html_guidelines_message" value="">'.$the_guides.'</textarea>';
}
function add_option_field_to_general_admin_page(){
$option_name='my_option';
// регистрируем опцию
register_setting('general',$option_name);
// добавляем поле
add_settings_field(
'myprefix_setting-id',
'Название опции',
'myprefix_setting_callback_function',
'general',
'default',
array(
'id'=>'myprefix_setting-id',
'option_name'=>'my_option'
)
);
}
add_action('admin_menu','add_option_field_to_general_admin_page');
function myprefix_setting_callback_function($val){
$id=$val['id'];
$option_name=$val['option_name'];
$the_guides=!empty(get_option($option_name))?html_entity_decode(get_option($option_name)):'';
echo '<textarea cols="44" placeholder="'.__('Поле для ввода текста','VAB').'"name="'.$option_name.'" id="'.$option_name.'" value="">'.$the_guides.'</textarea>';
}
function createRandomArr(length, min, max) {
if (length > max - min + 1) {
throw 'такого массива быть не может';
}
const values = new Set;
for (; values.size < length; values.add(min + Math.random() * (max - min + 1) | 0)) ;
return [...values];
}
const createRandomArr = (length, min, max) => Array
.from({ length }, function() {
return this.splice(Math.random() * this.length | 0, 1);
}, Array.from({ length: max - min + 1 }, (n, i) => i + min))
.flat();
function createRandomArr(length, min, max) {
const arr = Array.from({ length: max - min + 1 }, (n, i) => min + i);
for (let i = arr.length; --i > 0;) {
const j = Math.random() * (i + 1) | 0;
[ arr[i], arr[j] ] = [ arr[j], arr[i] ];
}
return arr.slice(0, length);
}
Могул ли в один запрос добавить два вида обращения?
router.get("/:idOrNickname", async(req, res) => {
// и делаете запрос ИЛИ подставляя req.params.idOrNickname как _id и nickname
})
<?php if ( $query->found_posts < 3 ) : ?>
<?php else : ?>
<?php endif; ?>
category_name