true], 'objects'); $post_types_data = []; foreach ($post_types as $post_type) { $post_types_data[] = [ 'name' => $post_type->name, 'label' => $post_type->label, 'singular_label' => $post_type->labels->singular_name ]; } // Pass data to JavaScript wp_localize_script( 'lcp-paywall-admin', 'lcpPaywallData', [ 'postTypes' => $post_types_data, 'nonce' => wp_create_nonce('lcp_paywall_nonce'), 'ajaxUrl' => admin_url('admin-ajax.php') ] ); // Add some basic styles wp_add_inline_style( 'wp-admin', ' .lcp-paywall-post-type { margin: 20px 0; padding: 20px; background: #fff; border: 1px solid #ccd0d4; box-shadow: 0 1px 1px rgba(0,0,0,.04); } .lcp-paywall-post-type.is-over { background: #f0f0f1; } .lcp-paywall-draggable-item { padding: 15px; margin: 5px 0; background: #f8f9fa; border: 1px dashed #ccd0d4; cursor: move; transition: transform 0.2s ease, box-shadow 0.2s ease; } .lcp-paywall-draggable-item:hover { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .lcp-paywall-draggable-item.is-dragging { opacity: 0.5; box-shadow: 0 5px 10px rgba(0,0,0,0.1); } .lcp-paywall-rule-controls { display: flex; gap: 10px; align-items: flex-start; } .lcp-paywall-rule-controls .components-select-control { margin-bottom: 0; min-width: 120px; } .lcp-paywall-rule-controls .components-select-control__input { height: 36px; } .lcp-paywall-add-rule { margin-top: 15px; padding-top: 15px; border-top: 1px solid #f0f0f1; } .lcp-paywall-add-rule-button.is-secondary { margin-left: 0; } .lcp-paywall-rules-container { min-height: 50px; padding: 5px 0; } ' ); }