Skip to content

Forum in maintenance, we will back soon 🙂

How to use our prem...
 
Notifications
Clear all

How to use our premium prompts in wordpress backend -

12 Posts
3 Users
4 Reactions
41 Views
(@vijay)
Posts: 16
Blogger Registered
Topic starter
 

when using lengthy prompt in the backend on var prompt="_____lengthy prompt from premium library____________"+topic; when using this in the output doesn't showing results. in wordpress

please solve my issue

Thanks.

 
Posted : 08/13/2023 2:22 am
Hasan Aboul Hasan
(@admin)
Posts: 1276
Member Admin
 

please share your backend code

 
Posted : 08/13/2023 10:31 am
SSAdvisor
(@ssadvisor)
Posts: 1139
Noble Member
 

@vijay share the code you reference. Either use the code function here (<>) or upload to github and share the link.

Regards,
Earnie Boyd, CEO
Seasoned Solutions Advisor LLC
Schedule 1-on-1 help
Join me on Slack

 
Posted : 08/13/2023 4:17 pm
(@vijay)
Posts: 16
Blogger Registered
Topic starter
 
function full_blog_generator() {
    // Get the topic from the AJAX request
    $prompt = $_POST['prompt'];

    // OpenAI API URL and key
    $api_url = 'https://api.openai.com/v1/chat/completions';
    $api_key = 'sk-********';  // Replace with your actual OpenAI API key

    // Headers for the OpenAI API
    $headers = [
        'Content-Type' => 'application/json',
        'Authorization' => 'Bearer ' . $api_key
    ];

    // Body for the OpenAI API
    $body = [
        'model' => 'gpt-3.5-turbo',
        'messages' => [['role' => 'user', 'content' => $prompt]],
        'temperature' => 0.7
    ];

    // Args for the WordPress HTTP API
    $args = [
        'method' => 'POST',
        'headers' => $headers,
        'body' => json_encode($body),
        'timeout' => 120
    ];

    // Send the request
    $response = wp_remote_request($api_url, $args);

    // Handle the response
    if (is_wp_error($response)) {
        $error_message = $response->get_error_message();
        wp_send_json_error("Something went wrong: $error_message");
    } else {
        $body = wp_remote_retrieve_body($response);
        $data = json_decode($body, true);

        if (json_last_error() !== JSON_ERROR_NONE) {
            wp_send_json_error('Invalid JSON in API response');
        } elseif (!isset($data['choices'])) {
            wp_send_json_error('API request failed. Response: ' . $body);
        } else {
            wp_send_json_success($data);
        }
    }

    // Always die in functions echoing AJAX content
    wp_die();
}

add_action('wp_ajax_full_blog_generator', 'full_blog_generator');
add_action('wp_ajax_nopriv_full_blog_generator', 'full_blog_generator');






<div id="text-generation-tool">
    
    <input type="text" id="topic" placeholder="Your Topic...">
    <button id="generate-button">Generate</button>
    <div id="result-container" style="display: none;">
        <div class="result-wrapper">
            <div class="result-content">
                <textarea id="result" readonly></textarea>
            </div>
            <div class="copy-button-container">
                <button id="copy-button">Copy</button>
            </div>
        </div>
    </div>
    <div id="loading" class="loader" style="display: none;"></div>
</div>

<style>
    /* Basic styles for the text generation tool */
    #text-generation-tool {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        font-family: Arial, sans-serif;
    }

    #topic {
        width: 100%;
        padding: 15px;
        margin-bottom: 20px;
        font-size: 16px;
        border-radius: 5px;
        border: 1px solid #ddd;
    }

    #generate-button {
        display: block;
        width: 100%;
        padding: 15px;
        margin-bottom: 20px;
        font-size: 16px;
        border: none;
        border-radius: 5px;
        color: #fff;
        background-color: #3498db;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }

    #generate-button:hover {
        background-color: #2980b9;
    }

    #result-container {
        display: none;
        margin-bottom: 20px;
    }

    .result-wrapper {
        position: relative;
        overflow: hidden;
    }

    .result-content {
        display: flex;
    }

    #result {
        flex: 1;
        height: 400px;
        padding: 15px;
        font-size: 16px;
        border-radius: 5px;
        border: 1px solid #ddd;
        background-color: #f9f9f9;
    }

    .copy-button-container {
        margin-top: 10px;
        text-align: right;
    }

    #copy-button {
        padding: 8px 12px;
        font-size: 14px;
        border: none;
        border-radius: 5px;
        color: #fff;
        background-color: #3498db;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }

    #copy-button:hover {
        background-color: #2980b9;
    }

    /* CSS for the loader */
    .loader {
        display: block;
        margin: 50px auto;
        border: 16px solid #f3f3f3; /* Light grey */
        border-top: 16px solid #3498db; /* Blue */
        border-radius: 50%;
        width: 50px;
        height: 50px;
        animation: spin 1s linear infinite;
    }

    @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }
</style>

<script>
    document.getElementById("generate-button").addEventListener("click", function(e){
        e.preventDefault();
        
        
        var generateButton = document.getElementById("generate-button");
        
        if (generateButton.disabled) {
            return; // Prevent multiple clicks while content is being generated
        }
        
        generateButton.disabled = true;
        
        
        
        var topic = document.getElementById('topic').value;
        var prompt ="write a full blog post upto 2000 words about"+topic;
//here in the prompt iam giving our premium prompt but not showing any result
        var loading = document.getElementById('loading');
        var result = document.getElementById('result');
        var resultC = document.getElementById('result-container');

        loading.style.display = 'block';
        result.style.display = 'none'; // hide result textarea
        resultC.style.display = 'none';
        

        var formData = new FormData();
        formData.append('action', 'full_blog_generator');
        formData.append('prompt', prompt);

        fetch('/wp-admin/admin-ajax.php', {
            method: 'POST',
            body: formData
        })
        .then(response => response.json())
        .then(data => {
            loading.style.display = 'none';
            if(data.success) {
                result.value = data.data.choices[0].message.content; 
                result.style.display = 'block'; // show result textarea
                resultC.style.display = 'block';
                generateButton.disabled = false;
            } else {
                result.value = 'An error occurred: ' + data.data;
                result.style.display = 'block'; // show result textarea
                resultC.style.display = 'block';
                generateButton.disabled = false;
            }
        })
        .catch(error => {
            loading.style.display = 'none';
            result.value = 'An error occurred: ' + error.message;
            result.style.display = 'block'; // show result textarea
            resultC.style.display = 'block';
            generateButton.disabled = false;
            
        });
    });
    
    var copyButton = document.getElementById('copy-button');
    copyButton.addEventListener('click', function() {
        var result = document.getElementById('result');
        result.select();
        document.execCommand('copy');
        alert('Copied to clipboard!');
    });
</script>
 
Posted : 08/14/2023 3:33 am
Hasan Aboul Hasan
(@admin)
Posts: 1276
Member Admin
 

@vijay I dont see a long prompt, what is the problem? what is the output?

 
Posted : 08/14/2023 6:14 pm
SSAdvisor
(@ssadvisor)
Posts: 1139
Noble Member
 

@admin It's being passed in the POST data. @vijay please show an example of use, probably best to use the code function again.

Regards,
Earnie Boyd, CEO
Seasoned Solutions Advisor LLC
Schedule 1-on-1 help
Join me on Slack

 
Posted : 08/14/2023 11:15 pm
(@vijay)
Posts: 16
Blogger Registered
Topic starter
 

github link script

given github link in the script given example please check at const prompt=""+topic; line no. 132

I am premium prompt its not working. if giving short prompt it is running.

 
Posted : 08/15/2023 3:58 pm
Hasan Aboul Hasan
(@admin)
Posts: 1276
Member Admin
 

@vijay to add multiline string, try this:

let prompt = `This is the first line. 
This is the second line. 
This is the third line.`;
 
Posted : 08/16/2023 7:37 am
(@vijay)
Posts: 16
Blogger Registered
Topic starter
 

@admin I am tried let prompt also, but still not working

 
Posted : 08/16/2023 7:43 am
Hasan Aboul Hasan
(@admin)
Posts: 1276
Member Admin
 

@vijay it is not about let, it is about how you add mult line string.

 
Posted : 08/16/2023 11:15 am
(@vijay)
Posts: 16
Blogger Registered
Topic starter
 

@admin I tried all the possible ways.... please can you make a short video about it

 
Posted : 08/16/2023 11:18 am
(@vijay)
Posts: 16
Blogger Registered
Topic starter
 

@admin solved thanks... sir

 
Posted : 08/16/2023 4:58 pm
Share:
[the_ad_group id="312"]