// Элементы идут именно списком. Не хочется плодить переменную еще и под массив...
var names = "h1, h2, h3, h4, h5, h6, p, img";
if ( element.previousSibling !== null ) {
// ... поэтому массив создаю прямо здесь
// (проверил в консоли - к массиву претензий нет. Создается)
if ( ![...names.split(",\s*")].includes( element.previousSibling.nodeName.toLowerCase() ) ) {
// Элементы идут именно списком. Не хочется плодить переменную еще и под массив...
var names = "h1, h2, h3, h4, h5, h6, p, img";
if ( element.previousSibling !== null ) {
// ... поэтому массив создаю прямо здесь
// (проверил в консоли - к массиву претензий нет. Создается)
if ( ![...names.split(",\s*")].includes( element.previousSibling.nodeName.toLowerCase() ) ) {
// Элементы идут именно списком. Не хочется плодить переменную еще и под массив...
var names = "h1, h2, h3, h4, h5, h6, p, img";
if ( element.previousSibling !== null ) {
// ... поэтому массив создаю прямо здесь
// (проверил в консоли - к массиву претензий нет. Создается)
if ( ![...names.split(",\s*")].includes( element.previousSibling.nodeName.toLowerCase() ) ) {
if (
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "h1" ) &&
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "h2" ) &&
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "h3" ) &&
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "h4" ) &&
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "h5" ) &&
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "h6" ) &&
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "p" ) &&
( element.previousSibling !== null && element.previousSibling.nodeName.toLowerCase() !== "img" )
) {
window.onscroll = function() {
if ((document.documentElement.scrollHeight - (document.documentElement.scrollTop + document.documentElement.clientHeight)) <= document.documentElement.clientHeight) {
console.log("До конца прокрутки осталось одно видимое окно");
}
}
'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',
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;
});