add_action( 'add_meta_boxes', function() {
add_meta_box(
'my-div-container',
'My div',
function( $post ) {
wp_nonce_field( basename( __FILE__ ), 'my_div_nonce' );
$my_html = '<div id="my_div" contenteditable="true">' . get_post_meta( $post->ID, 'my_div', true ) . '</div>';
echo $my_html;
},
'post',
'normal',
'high'
);
});
add_action( 'save_post', function( $post_id ) {
if ( !isset( $_POST['my_div_nonce'] ) || !wp_verify_nonce( $_POST['my_div_nonce'], basename( __FILE__ ) ) )
return $post_id;
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return $post_id;
if ( !current_user_can( 'edit_post', $post_id ) )
return $post_id;
$post = get_post( $post_id );
if ( $post->post_type == 'post' ) {
$my_dom = new DOMDocument;
$my_html = mb_convert_encoding( $my_html, 'HTML-ENTITIES', 'UTF-8' );
@$my_dom->loadHTML( $my_html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD );
$my_value = $my_dom->getElementById( 'my_div' )->nodeValue;
update_post_meta(
$post_id,
'my_div',
$my_value
);
}
return $post_id;
});
update_post_meta( $post_id, 'my-div', $_POST['my_value'] )
.$my_html = '<div id="my-div">' . get_post_meta( $post->ID, 'my_value', true ) . '</div>';
<textarea id="my_ta">Lorem ipsum!</textarea>
<button id="button_processing_ta">Обработать</button>
<?php
function my_action_javascript() { ?>
<script>
document.getElementById( 'button_processing_ta' ).addEventListener( 'click', function() {
let my_ta = document.getElementById( 'my_ta' );
});
</script>
<?php }
add_action( 'admin_print_footer_scripts', 'my_action_javascript', 99 );
?>
<select id="live_select">
<option value="01" data-item="рыб">Рыб.</option>
<option selected="selected" value="02" data-item="колб">Колб.</option>
<option value="03" data-item="скор">Скор. по.</option>
</select>
// Получаю все пункты списка
let options = document.querySelectorAll('select#live_select option');
// Запускаю по каждому цикл
options.forEach( function( item ) {
// Получаю значение value
let option_value = item.getAttribute('value');
// Делаю нормальные пункты меню (в оригинале - чушь)
if ( option_value === '01' ) item.textContent = 'Рыба';
else if ( option_value === '02' ) item.textContent = 'Колбаса';
else if ( option_value === '03' ) item.textContent = 'Скорая помощь';
// Получаю остальные атрибуты
let option_data_item = item.getAttribute('data-item');
// Начинаю создание нового элемента option
let option = document.createElement('option');
// Добавляю в него нужные атрибуты (такие же как у оригинала)
option.setAttribute( 'value', option_value );
option.setAttribute( 'data-item', option_data_item );
// Добавляю туда же текстовый контент (который будет отображаться в заголовке) в зависимости от value
if ( option_value === '01' ) option.textContent = 'РЫБА';
else if ( option_value === '02' ) option.textContent = 'КОЛБАСА';
else if ( option_value === '03' ) option.textContent = 'СКОРАЯ ПОМОЩЬ';
// Теперь вставляю элементы в зависимости от наличия атрибута selected у оригинала
// Если атрибут присутствует
if ( item.hasAttribute( 'selected' ) ) {
option.setAttribute( 'selected', 'selected' );
item.parentNode.insertBefore( option, item.nextSibling);
}
// Если атрибута нет
else {
item.parentNode.insertBefore( option, item.nextSibling);
}
// Скрываю оригиналы
item.style.display = 'none';
});
// Далее при выборе элемента выводим обманку
document.querySelector('select#mm').addEventListener( 'change', e => e.target.value = e.target.value );
SetEnvIf %{SERVER_PORT} ^80$ !NOT_SSL
RewriteEngine On
RewriteCond %{SERVER_PORT} !^80$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
AuthType Basic
AuthName "Пожалуйста, авторизуйтесь"
AuthUserFile /var/www/.../.htpasswd
require valid-user
Allow from env=HTTPS
Array
(
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin
[PP_CUSTOM_PHP_INI] => /var/www/.../etc/site.ru/php.ini
[PP_CUSTOM_PHP_CGI_INDEX] => ae1tr654656c61b46523565328390c5d465gv54642e9b
[SCRIPT_NAME] => /info.php
[REQUEST_URI] => /info.php
[QUERY_STRING] =>
[REQUEST_METHOD] => GET
[SERVER_PROTOCOL] => HTTP/1.0
[GATEWAY_INTERFACE] => CGI/1.1
[REMOTE_PORT] => 34028
[SCRIPT_FILENAME] => /var/www/.../httpdocs/site.ru/info.php
[SERVER_ADMIN] => admin@yandex.ru
[DOCUMENT_ROOT] => /var/www/.../httpdocs/site.ru
[REMOTE_ADDR] => 111.111.111.11
[SERVER_PORT] => 80
[SERVER_ADDR] => 222.222.222.22
[SERVER_NAME] => site.ru
[SERVER_SOFTWARE] => Apache
[SERVER_SIGNATURE] =>
Apache Server at site.ru Port 80
[HTTP_ACCEPT_LANGUAGE] => ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36
[HTTP_UPGRADE_INSECURE_REQUESTS] => 1
[HTTP_CONNECTION] => close
[HTTP_X_ACCEL_INTERNAL] => /internal-nginx-static-location
[HTTP_X_FORWARDED_FOR] => 111.111.111.11
[HTTP_X_REAL_IP] => 111.111.111.11
[HTTP_HOST] => site.ru
[SCRIPT_URI] => http://site.ru/info.php
[SCRIPT_URL] => /info.php
[UNIQUE_ID] => rtrtrbf4wF8A545bv56445rderer
[FCGI_ROLE] => RESPONDER
[PHP_SELF] => /info.php
[REQUEST_TIME_FLOAT] => 1551235245.1224
[REQUEST_TIME] => 1551235245
[argv] => Array
(
)
[argc] => 0
)