function generate_photai_image() { // Check if the ‘prompt’ parameter is provided if (!isset($_POST[‘prompt’]) || empty(trim($_POST[‘prompt’]))) { wp_send_json_error([‘message’ => ‘Prompt is required.’]); return; } // Retrieve and validate additional styling information $style = isset($_POST[‘style’]) ? sanitize_text_field($_POST[‘style’]) : ‘cinematic’; // Retrieve and…Continue reading
function generate_freepik_image() { // Vérification du paramètre ‘prompt’ if (!isset($_POST[‘prompt’]) || empty(trim($_POST[‘prompt’]))) { wp_send_json_error([‘message’ => ‘Prompt is required.’]); return; } // Récupération et validation des données de style $style = isset($_POST[‘style’]) ? sanitize_text_field($_POST[‘style’]) : ‘photo’; $color = isset($_POST[‘color’]) ? sanitize_text_field($_POST[‘color’])…Continue reading
add_action(‘wp_enqueue_scripts’, function () { // Enqueue your custom JavaScript file wp_enqueue_script( ‘unlock-chat-script’, get_template_directory_uri() . ‘/js/unlock-chat.js’, [‘jquery’], // Ensure dependencies like jQuery are loaded ‘1.0’, true // Load in the footer ); // Localize data for the JavaScript file wp_localize_script(‘unlock-chat-script’, ‘MyCredData’,…Continue reading
/** * Centralized messages for MyCred. */ function mycred_get_messages() { return [ ‘claim_button’ => ‘Claim my daily credits’, ‘error_not_logged_in’ => ‘Please log in to claim your credits.’, ‘error_no_membership’ => ‘No valid membership found.’, ‘error_already_claimed’ => ‘You’re all set! More credits…Continue reading
/** * Determine daily credits based on membership level. */ function get_daily_credits($membership_level) { switch ($membership_level->name ?? ”) { case ‘Chic’: return 1; case ‘Glamour’: return 5; case ‘Prestige’: return 10; default: return null; } }Continue reading
/** * Claim daily credits via MyCred. */ function mycred_claim_daily_credits() { check_ajax_referer(‘mycred_nonce’, ‘_ajax_nonce’); $messages = mycred_get_messages(); // Ensure the user is logged in if (!is_user_logged_in()) { wp_send_json_error([‘message’ => $messages[‘error_not_logged_in’]]); } // Get user ID and membership level $user_id = get_current_user_id();…Continue reading
/** * AJAX handler for MyCred transactions (credit or debit). */ function mycred_transaction_handler() { // Verify the nonce for security if (!isset($_POST[‘_ajax_nonce’]) || !wp_verify_nonce($_POST[‘_ajax_nonce’], ‘mycred_nonce’)) { wp_send_json_error([‘message’ => ‘Invalid security token.’]); } // Ensure the user is logged in if…Continue reading
if (!function_exists(‘shortcode_show_credits’)) { /** * Shortcode to display MyCred balance with dynamic updates (default black text). */ function shortcode_show_credits($atts) { return generate_mycred_balance_shortcode($atts, ‘black’); } add_shortcode(‘show_credits’, ‘shortcode_show_credits’); } if (!function_exists(‘shortcode_show_credits_white’)) { /** * Shortcode to display MyCred balance with white text…Continue reading
/** * Shortcode to claim daily credits. */ function shortcode_claim_daily_credits() { if (!is_user_logged_in()) { return ‘ Please log in to claim your daily credits. ‘; } $user_id = get_current_user_id(); $last_claim = get_user_meta($user_id, ‘_last_daily_claim’, true); if ($last_claim === date(‘Y-m-d’)) { return…Continue reading
add_action(‘wp_head’, function () { ?>Continue reading