Я создаю плагин, который позволяет посетителям отправлять конфигурации программного обеспечения, чтобы делиться ими с другими. Они вводят несколько битов информации (свое имя, программное обеспечение и машина), а затем загружают свой XML-профиль, который в конечном итоге преобразуется в пользовательский тип сообщения.
На данный момент я храню все, что они вводят, например, их имя, программное обеспечение, тип машины и т. д., в качестве метаданных. Я хочу иметь предопределенные параметры для типов программного обеспечения/машин, позволяя им выбирать из этих параметров при отправке.
Что было бы хорошим способом добиться этого в Wordpress? Должен ли я просто сохранить их как предопределенные значения в поле выбора через форму, а затем сохранить данные в виде текста в метаданных или есть лучшая альтернатива?
function slicer_profile_form()
{
echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post" enctype="multipart/form-data">';
echo '<p>';
echo 'Your Name<br />';
echo '<input type="text" name="slicer-profile-author" pattern="[a-zA-Z0-9 ]+" value="' . ( isset( $_POST["slicer-profile-author"] ) ? esc_attr( $_POST["slicer-profile-author"] ) : '' ) . '" size="48" />';
echo '</p>';
echo '<p>';
echo 'Profile Name<br />';
echo '<input type="text" name="slicer-profile-name" pattern="[a-zA-Z0-9 ]+" value="' . ( isset( $_POST["slicer-profile-name"] ) ? esc_attr( $_POST["slicer-profile-name"] ) : '' ) . '" size="48" />';
echo '</p>';
echo '<p>';
echo 'Profile Description<br />';
echo '<textarea name="slicer-profile-description" pattern="[a-zA-Z0-9 ]+" value="' . ( isset( $_POST["slicer-profile-description"] ) ? esc_attr( $_POST["slicer-profile-description"] ) : '' ) . '" rows="4"></textarea>';
echo '</p>';
echo '<p>';
echo '3D Printer Model<br />';
echo '<select name="slicer-profile-model">';
echo '<option value="a8">Anet A8</option>';
echo '<option value="cr10">Creality CR-10</option>';
echo '<option value="mini">Monoprice Select Mini</option>';
echo '<option value="makerselect">Monoprice Maker Select</option>';
echo '<option value="ultimate">Monoprice Ultimate</option>';
echo '<option value="prusamk2">Prusa MK2/MK2S/MK3</option>';
echo '</select>';
echo '</p>';
echo '<p>';
echo 'Slicer Software<br />';
echo '<select name="slicer-profile-software">';
echo '<option value="cura">Cura</option>';
echo '<option value="s3d">Simplify3D</option>';
echo '<option value="slic3r">Slic3r</option>';
echo '</select>';
echo '</p>';
echo '<p>';
echo 'Slicer Profile<br />';
echo '<input type="file" name="slicer-profile" accept=".fff,.ini,.curaprofile">';
echo '</p>';
echo '<p><input type="submit" name="slicer-profile-submitted" value="Submit"/></p>';
echo '</form>';
}