Plugin Directory

Changeset 3411118


Ignore:
Timestamp:
12/04/2025 03:21:48 PM (3 months ago)
Author:
riko910
Message:

updated version for 1.0.0

Location:
answer-engine-optimization
Files:
18 added
8 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • answer-engine-optimization/tags/1.0.0/answer-engine-optimization.php

    r3295060 r3411118  
    22/**
    33 * Plugin Name:       Answer Engine Optimization
    4  * Plugin URI:        https://tarikul.blog/uncategorized/answer-engine-optimization/
     4 * Plugin URI:        https://tarikul.top/plugins/answer-engine-optimization/
    55 * Description:       Optimize your content for answer engines and featured snippets.
    66 * Version:           1.0.0
     
    88 * Requires PHP:      7.2
    99 * Author:            Tarikul Islam Riko
    10  * Author URI:        https://tarikul.blog/
     10 * Author URI:        https://tarikul.top/
    1111 * License:           GPL v2 or later
    1212 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
    1313 * Text Domain:       answer-engine-optimization
     14 * Domain Path:       /languages
    1415 */
    1516
    16 // If this file is called directly, abort.
    17 if (!defined('WPINC')) {
    18     die;
    19 }
     17defined( 'ABSPATH' ) || exit;
    2018
    21 // Define plugin constants
    22 define('AEO_VERSION', '1.0.0');
    23 define('AEO_PLUGIN_DIR', plugin_dir_path(__FILE__));
    24 define('AEO_PLUGIN_URL', plugin_dir_url(__FILE__));
     19require_once __DIR__ . '/includes/class-answer-engine-optimization.php';
    2520
    26 // Include the main plugin classes
    27 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-admin.php';
    28 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-frontend.php';
    29 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-questions.php';
    30 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-schema.php';
    31 
    32 // Initialize the plugin
     21/**
     22 * Initializing Plugin.
     23 *
     24 * @since 1.0.0
     25 * @retun Object Plugin object.
     26 */
    3327function aeo_init() {
    34     $admin     = new AEO_Admin();
    35     $frontend  = new AEO_Frontend();
    36     $questions = new AEO_Questions();
    37     $schema    = new AEO_Schema();
    38 
    39     // Register activation/deactivation hooks
    40     register_activation_hook(__FILE__, array($admin, 'activate'));
    41     register_deactivation_hook(__FILE__, array($admin, 'deactivate'));
     28    return Answer_Engine_Optimization::get_instance(__FILE__);
    4229}
    4330add_action('plugins_loaded', 'aeo_init');
  • answer-engine-optimization/tags/1.0.0/assets/css/aeo-admin.css

    r3295060 r3411118  
    1111}
    1212
     13.aeo-field:last-child {
     14    margin-bottom: 0;
     15}
     16
    1317.aeo-field label {
    1418    display: block;
    1519    margin-bottom: 5px;
    1620    font-weight: 600;
     21    font-size: 14px;
    1722}
    1823
     
    2126    font-style: italic;
    2227    margin-top: 5px;
     28    font-size: 13px;
     29}
     30
     31.aeo-field input[type="text"],
     32.aeo-field textarea {
     33    width: 100%;
    2334}
    2435
     
    2637.aeo-faq-item {
    2738    margin-bottom: 15px;
    28     padding: 10px;
     39    padding: 15px;
    2940    background: #fff;
    3041    border: 1px solid #e5e5e5;
     42    border-radius: 3px;
    3143    box-shadow: 0 1px 1px rgba(0,0,0,0.04);
    3244}
     
    3547.aeo-faq-item textarea {
    3648    margin-bottom: 8px;
     49}
     50
     51.aeo-faq-item input[type="text"] {
     52    font-weight: 600;
    3753}
    3854
     
    4157    color: white;
    4258    border-color: #dc3232;
    43 }
    44 
    45 .aeo-remove-faq:hover {
     59    margin-top: 5px;
     60}
     61
     62.aeo-remove-faq:hover,
     63.aeo-remove-faq:focus {
    4664    background: #a00;
    4765    border-color: #a00;
    4866    color: white;
     67}
     68
     69#aeo-add-faq {
     70    margin-right: 10px;
    4971}
    5072
     
    5880    width: 100%;
    5981    height: 100%;
    60     background-color: rgba(0,0,0,0.4);
     82    background-color: rgba(0,0,0,0.5);
     83    overflow: auto;
    6184}
    6285
    6386.aeo-modal-content {
    6487    background-color: #fefefe;
    65     margin: 5% auto;
     88    margin: 50px auto;
     89    padding: 0;
     90    border: 1px solid #888;
     91    width: 90%;
     92    max-width: 700px;
     93    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
     94    border-radius: 3px;
     95    animation: slideIn 0.3s ease-out;
     96}
     97
     98@keyframes slideIn {
     99    from {
     100        transform: translateY(-50px);
     101        opacity: 0;
     102    }
     103    to {
     104        transform: translateY(0);
     105        opacity: 1;
     106    }
     107}
     108
     109.aeo-modal-header {
    66110    padding: 20px;
    67     border: 1px solid #888;
    68     width: 80%;
    69     max-width: 800px;
    70     box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    71 }
    72 
    73 .aeo-modal-header {
    74     padding: 10px 0;
    75111    border-bottom: 1px solid #ddd;
    76     margin-bottom: 15px;
     112    background: #f9f9f9;
     113    position: relative;
    77114}
    78115
     
    81118    padding: 0;
    82119    font-size: 20px;
     120    line-height: 1.4;
    83121}
    84122
    85123.aeo-modal-close {
    86     color: #aaa;
    87     float: right;
     124    position: absolute;
     125    right: 15px;
     126    top: 15px;
     127    color: #666;
    88128    font-size: 28px;
    89129    font-weight: bold;
    90130    cursor: pointer;
    91 }
    92 
    93 .aeo-modal-close:hover {
    94     color: black;
     131    line-height: 1;
     132    transition: color 0.2s;
     133}
     134
     135.aeo-modal-close:hover,
     136.aeo-modal-close:focus {
     137    color: #000;
    95138}
    96139
    97140.aeo-modal-body {
    98     padding: 10px 0;
    99     margin-bottom: 15px;
     141    padding: 20px;
     142    max-height: 400px;
     143    overflow-y: auto;
     144}
     145
     146.aeo-modal-body > p:first-child {
     147    margin-top: 0;
    100148}
    101149
    102150.aeo-modal-footer {
    103     padding: 10px 0;
     151    padding: 15px 20px;
    104152    border-top: 1px solid #ddd;
    105153    text-align: right;
     154    background: #f9f9f9;
     155}
     156
     157.aeo-modal-footer .button {
     158    margin-left: 10px;
    106159}
    107160
    108161/* Questions list */
     162#aeo-questions-list {
     163    margin: 15px 0;
     164    padding: 0;
     165}
     166
    109167.aeo-question-item {
    110     padding: 8px 0;
     168    padding: 10px;
    111169    border-bottom: 1px solid #eee;
     170    transition: background-color 0.2s;
     171}
     172
     173.aeo-question-item:hover {
     174    background-color: #f9f9f9;
    112175}
    113176
     
    118181.aeo-question-item label {
    119182    display: flex;
    120     align-items: center;
     183    align-items: flex-start;
    121184    cursor: pointer;
     185    margin: 0;
     186    font-weight: normal;
    122187}
    123188
    124189.aeo-question-item input[type="checkbox"] {
    125190    margin-right: 10px;
     191    margin-top: 2px;
     192    flex-shrink: 0;
     193}
     194
     195#aeo-generate-questions {
     196    margin-top: 15px;
     197}
     198
     199#aeo-generate-questions:disabled {
     200    opacity: 0.6;
     201    cursor: not-allowed;
    126202}
    127203
    128204/* Settings page */
    129205.settings_page_answer-engine-optimization textarea {
    130     width: 100%;
    131     max-width: 600px;
     206    font-family: monospace;
    132207}
    133208
    134209.aeo-example-questions {
    135     margin-left: 10px;
    136 }
     210    margin-top: 5px;
     211}
     212
     213/* Responsive */
     214@media screen and (max-width: 782px) {
     215    .aeo-modal-content {
     216        width: 95%;
     217        margin: 20px auto;
     218    }
     219
     220    .aeo-modal-body {
     221        max-height: 300px;
     222    }
     223
     224    .aeo-faq-item {
     225        padding: 10px;
     226    }
     227}
  • answer-engine-optimization/tags/1.0.0/assets/js/aeo-admin.js

    r3295060 r3411118  
    44        var faqItem = `
    55            <div class="aeo-faq-item">
    6                 <input type="text" name="aeo_faq_question[]" placeholder="<?php _e('Question', 'answer-engine-optimization'); ?>" class="widefat">
    7                 <textarea name="aeo_faq_answer[]" rows="2" placeholder="<?php _e('Answer', 'answer-engine-optimization'); ?>" class="widefat"></textarea>
    8                 <button type="button" class="button aeo-remove-faq"><?php _e('Remove', 'answer-engine-optimization'); ?></button>
     6                <input type="text" name="aeo_faq_question[]" placeholder="Question" class="widefat">
     7                <textarea name="aeo_faq_answer[]" rows="2" placeholder="Answer" class="widefat"></textarea>
     8                <button type="button" class="button aeo-remove-faq">Remove</button>
    99            </div>
    1010        `;
     
    111111                            <input type="text" name="aeo_faq_question[]" value="${question}" class="widefat">
    112112                            <textarea name="aeo_faq_answer[]" rows="2" class="widefat"></textarea>
    113                             <button type="button" class="button aeo-remove-faq"><?php _e('Remove', 'answer-engine-optimization'); ?></button>
     113                            <button type="button" class="button aeo-remove-faq">Remove</button>
    114114                        </div>
    115115                    `;
  • answer-engine-optimization/tags/1.0.0/assets/js/aeo-questions.js

    r3295060 r3411118  
    5757            complete: function() {
    5858                $('#aeo-generate-questions').prop('disabled', false)
    59                     .text('<?php _e("Generate More Questions", "answer-engine-optimization"); ?>');
     59                    .text('Generate More Questions');
    6060            }
    6161        });
     
    9090                        <input type="text" name="aeo_faq_question[]" value="${question}" class="widefat">
    9191                        <textarea name="aeo_faq_answer[]" rows="2" class="widefat"></textarea>
    92                         <button type="button" class="button aeo-remove-faq"><?php _e('Remove', 'answer-engine-optimization'); ?></button>
     92                        <button type="button" class="button aeo-remove-faq">Remove</button>
    9393                    </div>
    9494                `;
  • answer-engine-optimization/tags/1.0.0/readme.txt

    r3322708 r3411118  
    11=== Answer Engine Optimization ===
    22Contributors: riko910
    3 Tags: seo, optimization, answer engine optimization, voice search, aeo
     3Tags: seo, optimization, answer engine, featured snippets, voice search, schema markup
    44Requires at least: 6.5
    5 Tested up to: 6.8
     5Tested up to: 6.9
    66Requires PHP: 7.2
    77Stable tag: 1.0.0
     
    7979== Additional Information ==
    8080
    81 For support, visit [https://tarikul.blog](https://tarikul.blog) or contact via [support@tarikul.blog](mailto:support@tarikul.blog).
     81For support, visit [https://tarikul.top](https://tarikul.top) or contact via [hello@tarikul.top](mailto:hello@tarikul.top).
    8282
    8383== Credits ==
  • answer-engine-optimization/trunk/answer-engine-optimization.php

    r3295060 r3411118  
    22/**
    33 * Plugin Name:       Answer Engine Optimization
    4  * Plugin URI:        https://tarikul.blog/uncategorized/answer-engine-optimization/
     4 * Plugin URI:        https://tarikul.top/plugins/answer-engine-optimization/
    55 * Description:       Optimize your content for answer engines and featured snippets.
    66 * Version:           1.0.0
     
    88 * Requires PHP:      7.2
    99 * Author:            Tarikul Islam Riko
    10  * Author URI:        https://tarikul.blog/
     10 * Author URI:        https://tarikul.top/
    1111 * License:           GPL v2 or later
    1212 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
    1313 * Text Domain:       answer-engine-optimization
     14 * Domain Path:       /languages
    1415 */
    1516
    16 // If this file is called directly, abort.
    17 if (!defined('WPINC')) {
    18     die;
    19 }
     17defined( 'ABSPATH' ) || exit;
    2018
    21 // Define plugin constants
    22 define('AEO_VERSION', '1.0.0');
    23 define('AEO_PLUGIN_DIR', plugin_dir_path(__FILE__));
    24 define('AEO_PLUGIN_URL', plugin_dir_url(__FILE__));
     19require_once __DIR__ . '/includes/class-answer-engine-optimization.php';
    2520
    26 // Include the main plugin classes
    27 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-admin.php';
    28 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-frontend.php';
    29 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-questions.php';
    30 require_once AEO_PLUGIN_DIR . 'includes/class-aeo-schema.php';
    31 
    32 // Initialize the plugin
     21/**
     22 * Initializing Plugin.
     23 *
     24 * @since 1.0.0
     25 * @retun Object Plugin object.
     26 */
    3327function aeo_init() {
    34     $admin     = new AEO_Admin();
    35     $frontend  = new AEO_Frontend();
    36     $questions = new AEO_Questions();
    37     $schema    = new AEO_Schema();
    38 
    39     // Register activation/deactivation hooks
    40     register_activation_hook(__FILE__, array($admin, 'activate'));
    41     register_deactivation_hook(__FILE__, array($admin, 'deactivate'));
     28    return Answer_Engine_Optimization::get_instance(__FILE__);
    4229}
    4330add_action('plugins_loaded', 'aeo_init');
  • answer-engine-optimization/trunk/assets/css/aeo-admin.css

    r3295060 r3411118  
    1111}
    1212
     13.aeo-field:last-child {
     14    margin-bottom: 0;
     15}
     16
    1317.aeo-field label {
    1418    display: block;
    1519    margin-bottom: 5px;
    1620    font-weight: 600;
     21    font-size: 14px;
    1722}
    1823
     
    2126    font-style: italic;
    2227    margin-top: 5px;
     28    font-size: 13px;
     29}
     30
     31.aeo-field input[type="text"],
     32.aeo-field textarea {
     33    width: 100%;
    2334}
    2435
     
    2637.aeo-faq-item {
    2738    margin-bottom: 15px;
    28     padding: 10px;
     39    padding: 15px;
    2940    background: #fff;
    3041    border: 1px solid #e5e5e5;
     42    border-radius: 3px;
    3143    box-shadow: 0 1px 1px rgba(0,0,0,0.04);
    3244}
     
    3547.aeo-faq-item textarea {
    3648    margin-bottom: 8px;
     49}
     50
     51.aeo-faq-item input[type="text"] {
     52    font-weight: 600;
    3753}
    3854
     
    4157    color: white;
    4258    border-color: #dc3232;
    43 }
    44 
    45 .aeo-remove-faq:hover {
     59    margin-top: 5px;
     60}
     61
     62.aeo-remove-faq:hover,
     63.aeo-remove-faq:focus {
    4664    background: #a00;
    4765    border-color: #a00;
    4866    color: white;
     67}
     68
     69#aeo-add-faq {
     70    margin-right: 10px;
    4971}
    5072
     
    5880    width: 100%;
    5981    height: 100%;
    60     background-color: rgba(0,0,0,0.4);
     82    background-color: rgba(0,0,0,0.5);
     83    overflow: auto;
    6184}
    6285
    6386.aeo-modal-content {
    6487    background-color: #fefefe;
    65     margin: 5% auto;
     88    margin: 50px auto;
     89    padding: 0;
     90    border: 1px solid #888;
     91    width: 90%;
     92    max-width: 700px;
     93    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
     94    border-radius: 3px;
     95    animation: slideIn 0.3s ease-out;
     96}
     97
     98@keyframes slideIn {
     99    from {
     100        transform: translateY(-50px);
     101        opacity: 0;
     102    }
     103    to {
     104        transform: translateY(0);
     105        opacity: 1;
     106    }
     107}
     108
     109.aeo-modal-header {
    66110    padding: 20px;
    67     border: 1px solid #888;
    68     width: 80%;
    69     max-width: 800px;
    70     box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    71 }
    72 
    73 .aeo-modal-header {
    74     padding: 10px 0;
    75111    border-bottom: 1px solid #ddd;
    76     margin-bottom: 15px;
     112    background: #f9f9f9;
     113    position: relative;
    77114}
    78115
     
    81118    padding: 0;
    82119    font-size: 20px;
     120    line-height: 1.4;
    83121}
    84122
    85123.aeo-modal-close {
    86     color: #aaa;
    87     float: right;
     124    position: absolute;
     125    right: 15px;
     126    top: 15px;
     127    color: #666;
    88128    font-size: 28px;
    89129    font-weight: bold;
    90130    cursor: pointer;
    91 }
    92 
    93 .aeo-modal-close:hover {
    94     color: black;
     131    line-height: 1;
     132    transition: color 0.2s;
     133}
     134
     135.aeo-modal-close:hover,
     136.aeo-modal-close:focus {
     137    color: #000;
    95138}
    96139
    97140.aeo-modal-body {
    98     padding: 10px 0;
    99     margin-bottom: 15px;
     141    padding: 20px;
     142    max-height: 400px;
     143    overflow-y: auto;
     144}
     145
     146.aeo-modal-body > p:first-child {
     147    margin-top: 0;
    100148}
    101149
    102150.aeo-modal-footer {
    103     padding: 10px 0;
     151    padding: 15px 20px;
    104152    border-top: 1px solid #ddd;
    105153    text-align: right;
     154    background: #f9f9f9;
     155}
     156
     157.aeo-modal-footer .button {
     158    margin-left: 10px;
    106159}
    107160
    108161/* Questions list */
     162#aeo-questions-list {
     163    margin: 15px 0;
     164    padding: 0;
     165}
     166
    109167.aeo-question-item {
    110     padding: 8px 0;
     168    padding: 10px;
    111169    border-bottom: 1px solid #eee;
     170    transition: background-color 0.2s;
     171}
     172
     173.aeo-question-item:hover {
     174    background-color: #f9f9f9;
    112175}
    113176
     
    118181.aeo-question-item label {
    119182    display: flex;
    120     align-items: center;
     183    align-items: flex-start;
    121184    cursor: pointer;
     185    margin: 0;
     186    font-weight: normal;
    122187}
    123188
    124189.aeo-question-item input[type="checkbox"] {
    125190    margin-right: 10px;
     191    margin-top: 2px;
     192    flex-shrink: 0;
     193}
     194
     195#aeo-generate-questions {
     196    margin-top: 15px;
     197}
     198
     199#aeo-generate-questions:disabled {
     200    opacity: 0.6;
     201    cursor: not-allowed;
    126202}
    127203
    128204/* Settings page */
    129205.settings_page_answer-engine-optimization textarea {
    130     width: 100%;
    131     max-width: 600px;
     206    font-family: monospace;
    132207}
    133208
    134209.aeo-example-questions {
    135     margin-left: 10px;
    136 }
     210    margin-top: 5px;
     211}
     212
     213/* Responsive */
     214@media screen and (max-width: 782px) {
     215    .aeo-modal-content {
     216        width: 95%;
     217        margin: 20px auto;
     218    }
     219
     220    .aeo-modal-body {
     221        max-height: 300px;
     222    }
     223
     224    .aeo-faq-item {
     225        padding: 10px;
     226    }
     227}
  • answer-engine-optimization/trunk/assets/js/aeo-admin.js

    r3295060 r3411118  
    44        var faqItem = `
    55            <div class="aeo-faq-item">
    6                 <input type="text" name="aeo_faq_question[]" placeholder="<?php _e('Question', 'answer-engine-optimization'); ?>" class="widefat">
    7                 <textarea name="aeo_faq_answer[]" rows="2" placeholder="<?php _e('Answer', 'answer-engine-optimization'); ?>" class="widefat"></textarea>
    8                 <button type="button" class="button aeo-remove-faq"><?php _e('Remove', 'answer-engine-optimization'); ?></button>
     6                <input type="text" name="aeo_faq_question[]" placeholder="Question" class="widefat">
     7                <textarea name="aeo_faq_answer[]" rows="2" placeholder="Answer" class="widefat"></textarea>
     8                <button type="button" class="button aeo-remove-faq">Remove</button>
    99            </div>
    1010        `;
     
    111111                            <input type="text" name="aeo_faq_question[]" value="${question}" class="widefat">
    112112                            <textarea name="aeo_faq_answer[]" rows="2" class="widefat"></textarea>
    113                             <button type="button" class="button aeo-remove-faq"><?php _e('Remove', 'answer-engine-optimization'); ?></button>
     113                            <button type="button" class="button aeo-remove-faq">Remove</button>
    114114                        </div>
    115115                    `;
  • answer-engine-optimization/trunk/assets/js/aeo-questions.js

    r3295060 r3411118  
    5757            complete: function() {
    5858                $('#aeo-generate-questions').prop('disabled', false)
    59                     .text('<?php _e("Generate More Questions", "answer-engine-optimization"); ?>');
     59                    .text('Generate More Questions');
    6060            }
    6161        });
     
    9090                        <input type="text" name="aeo_faq_question[]" value="${question}" class="widefat">
    9191                        <textarea name="aeo_faq_answer[]" rows="2" class="widefat"></textarea>
    92                         <button type="button" class="button aeo-remove-faq"><?php _e('Remove', 'answer-engine-optimization'); ?></button>
     92                        <button type="button" class="button aeo-remove-faq">Remove</button>
    9393                    </div>
    9494                `;
  • answer-engine-optimization/trunk/readme.txt

    r3322708 r3411118  
    11=== Answer Engine Optimization ===
    22Contributors: riko910
    3 Tags: seo, optimization, answer engine optimization, voice search, aeo
     3Tags: seo, optimization, answer engine, featured snippets, voice search, schema markup
    44Requires at least: 6.5
    5 Tested up to: 6.8
     5Tested up to: 6.9
    66Requires PHP: 7.2
    77Stable tag: 1.0.0
     
    7979== Additional Information ==
    8080
    81 For support, visit [https://tarikul.blog](https://tarikul.blog) or contact via [support@tarikul.blog](mailto:support@tarikul.blog).
     81For support, visit [https://tarikul.top](https://tarikul.top) or contact via [hello@tarikul.top](mailto:hello@tarikul.top).
    8282
    8383== Credits ==
Note: See TracChangeset for help on using the changeset viewer.