Changeset 3255135
- Timestamp:
- 03/13/2025 05:31:32 AM (13 months ago)
- Location:
- writetext-ai
- Files:
-
- 227 added
- 10 edited
-
tags/2.0.2 (added)
-
tags/2.0.2/CHANGELOG.md (added)
-
tags/2.0.2/assets (added)
-
tags/2.0.2/assets/css (added)
-
tags/2.0.2/assets/css/admin-category.css (added)
-
tags/2.0.2/assets/css/admin-common.css (added)
-
tags/2.0.2/assets/css/admin-installation.css (added)
-
tags/2.0.2/assets/css/admin-installed.css (added)
-
tags/2.0.2/assets/css/admin.css (added)
-
tags/2.0.2/assets/css/tooltipster.bundle.min.css (added)
-
tags/2.0.2/assets/images (added)
-
tags/2.0.2/assets/images/active_check.png (added)
-
tags/2.0.2/assets/images/active_check_black.svg (added)
-
tags/2.0.2/assets/images/arrow-dotted-up-blue.png (added)
-
tags/2.0.2/assets/images/arrow-dotted-up-gray.png (added)
-
tags/2.0.2/assets/images/btn-closePopup.svg (added)
-
tags/2.0.2/assets/images/bulk-check-ico.png (added)
-
tags/2.0.2/assets/images/button_next.png (added)
-
tags/2.0.2/assets/images/calendar-icon.png (added)
-
tags/2.0.2/assets/images/calendar.png (added)
-
tags/2.0.2/assets/images/check_setup.png (added)
-
tags/2.0.2/assets/images/close-icon-black.svg (added)
-
tags/2.0.2/assets/images/close-icon-blue.svg (added)
-
tags/2.0.2/assets/images/close-icon.svg (added)
-
tags/2.0.2/assets/images/close-key-word.png (added)
-
tags/2.0.2/assets/images/eva_diagonal-arrow-right-up-outline.svg (added)
-
tags/2.0.2/assets/images/ic-arrow-head-blue.png (added)
-
tags/2.0.2/assets/images/ic-arrow-head-gray.png (added)
-
tags/2.0.2/assets/images/ic-button-arrow-down.png (added)
-
tags/2.0.2/assets/images/ic-check-white.png (added)
-
tags/2.0.2/assets/images/ic-check.png (added)
-
tags/2.0.2/assets/images/ic-close-grayish.png (added)
-
tags/2.0.2/assets/images/ic-close.png (added)
-
tags/2.0.2/assets/images/ic-dotted-line-blue.png (added)
-
tags/2.0.2/assets/images/ic-dotted-line-gray.png (added)
-
tags/2.0.2/assets/images/ic-down-arrow-red.png (added)
-
tags/2.0.2/assets/images/ic-down-arrow-white.svg (added)
-
tags/2.0.2/assets/images/ic-down-arrow.svg (added)
-
tags/2.0.2/assets/images/ic-failed-notice.png (added)
-
tags/2.0.2/assets/images/ic-filter-triangle-white.png (added)
-
tags/2.0.2/assets/images/ic-filter-triangle.png (added)
-
tags/2.0.2/assets/images/ic-lock-locked.png (added)
-
tags/2.0.2/assets/images/ic-lock-unlocked.png (added)
-
tags/2.0.2/assets/images/ic-pencil-white.png (added)
-
tags/2.0.2/assets/images/ic-pencil.png (added)
-
tags/2.0.2/assets/images/ic-restore.png (added)
-
tags/2.0.2/assets/images/ic-straight-line-blue.png (added)
-
tags/2.0.2/assets/images/ic-trash-white.png (added)
-
tags/2.0.2/assets/images/ic-trash.png (added)
-
tags/2.0.2/assets/images/ic-up-arrow-green.png (added)
-
tags/2.0.2/assets/images/ic-wt-platform-menu-active.svg (added)
-
tags/2.0.2/assets/images/ic-wt-platform-menu.svg (added)
-
tags/2.0.2/assets/images/ic_add.svg (added)
-
tags/2.0.2/assets/images/ic_arrow_down_pop.svg (added)
-
tags/2.0.2/assets/images/ic_arrow_tl_default.svg (added)
-
tags/2.0.2/assets/images/ic_arrow_tl_hover.svg (added)
-
tags/2.0.2/assets/images/ic_baseline-plus.png (added)
-
tags/2.0.2/assets/images/ic_caret_down.png (added)
-
tags/2.0.2/assets/images/ic_check_blue.svg (added)
-
tags/2.0.2/assets/images/ic_check_purple.png (added)
-
tags/2.0.2/assets/images/ic_chev_down.png (added)
-
tags/2.0.2/assets/images/ic_circle_check_blue.svg (added)
-
tags/2.0.2/assets/images/ic_country.svg (added)
-
tags/2.0.2/assets/images/ic_country_selected.svg (added)
-
tags/2.0.2/assets/images/ic_dropdown.svg (added)
-
tags/2.0.2/assets/images/ic_dropdown_blue.svg (added)
-
tags/2.0.2/assets/images/ic_fact_check.svg (added)
-
tags/2.0.2/assets/images/ic_kw-arrow.png (added)
-
tags/2.0.2/assets/images/ic_outline-close.png (added)
-
tags/2.0.2/assets/images/ic_outline-close.svg (added)
-
tags/2.0.2/assets/images/ic_outline-filter-list.svg (added)
-
tags/2.0.2/assets/images/ic_popup_ongoing.svg (added)
-
tags/2.0.2/assets/images/ic_premium.svg (added)
-
tags/2.0.2/assets/images/ic_premium_blue.svg (added)
-
tags/2.0.2/assets/images/ic_rewrite.svg (added)
-
tags/2.0.2/assets/images/ic_round-close.svg (added)
-
tags/2.0.2/assets/images/ic_substract.svg (added)
-
tags/2.0.2/assets/images/ic_thumb.png (added)
-
tags/2.0.2/assets/images/ic_thumbs_down.svg (added)
-
tags/2.0.2/assets/images/ic_thumbs_down_fill.svg (added)
-
tags/2.0.2/assets/images/ic_thumbs_up.svg (added)
-
tags/2.0.2/assets/images/ic_thumbs_up_fill.svg (added)
-
tags/2.0.2/assets/images/ic_transfer.svg (added)
-
tags/2.0.2/assets/images/ic_writetext_menu_wp.svg (added)
-
tags/2.0.2/assets/images/ic_writetext_platform_menu.svg (added)
-
tags/2.0.2/assets/images/icon-park-solid_check-one.svg (added)
-
tags/2.0.2/assets/images/iconamoon_trash.png (added)
-
tags/2.0.2/assets/images/iconamoon_trash_blur.png (added)
-
tags/2.0.2/assets/images/loader.gif (added)
-
tags/2.0.2/assets/images/loader_cursor.gif (added)
-
tags/2.0.2/assets/images/loader_writetext.gif (added)
-
tags/2.0.2/assets/images/logo_writetext.svg (added)
-
tags/2.0.2/assets/images/lucide_wand.svg (added)
-
tags/2.0.2/assets/images/material-symbols_history.svg (added)
-
tags/2.0.2/assets/images/mdi_external-link.svg (added)
-
tags/2.0.2/assets/images/ph_list-magnifying-glass-bold.svg (added)
-
tags/2.0.2/assets/images/ph_star-fill.svg (added)
-
tags/2.0.2/assets/images/ranked-serp-icon.png (added)
-
tags/2.0.2/assets/images/refresh.svg (added)
-
tags/2.0.2/assets/images/serp-link-ico.png (added)
-
tags/2.0.2/assets/images/solid_ranking-star.svg (added)
-
tags/2.0.2/assets/images/sort-ico-1.png (added)
-
tags/2.0.2/assets/images/sort-ico-2.png (added)
-
tags/2.0.2/assets/images/sort-ico-active.png (added)
-
tags/2.0.2/assets/images/spinner-1s-20px-bgwhite.gif (added)
-
tags/2.0.2/assets/images/spinner-1s-20px.gif (added)
-
tags/2.0.2/assets/images/toggle-arrow.png (added)
-
tags/2.0.2/assets/images/tooltip-arrow.svg (added)
-
tags/2.0.2/assets/images/tooltip-icon.png (added)
-
tags/2.0.2/assets/images/v2-banner.png (added)
-
tags/2.0.2/assets/images/warning-icon.png (added)
-
tags/2.0.2/assets/images/warning-icon.svg (added)
-
tags/2.0.2/assets/images/woocommerce-placeholder-150x150.png (added)
-
tags/2.0.2/assets/images/writetext_logo.png (added)
-
tags/2.0.2/assets/images/xbutton.svg (added)
-
tags/2.0.2/assets/js (added)
-
tags/2.0.2/assets/js/admin-category.js (added)
-
tags/2.0.2/assets/js/admin-common-functions.js (added)
-
tags/2.0.2/assets/js/admin-common.js (added)
-
tags/2.0.2/assets/js/admin-feedback.js (added)
-
tags/2.0.2/assets/js/admin-filter.js (added)
-
tags/2.0.2/assets/js/admin-installation.js (added)
-
tags/2.0.2/assets/js/admin-installed.js (added)
-
tags/2.0.2/assets/js/admin-keywords.js (added)
-
tags/2.0.2/assets/js/admin-setting.js (added)
-
tags/2.0.2/assets/js/admin-streaming.js (added)
-
tags/2.0.2/assets/js/jquery.ui.touch-punch.min.js (added)
-
tags/2.0.2/assets/js/signalr.min.js (added)
-
tags/2.0.2/assets/js/tooltipster.bundle.min.js (added)
-
tags/2.0.2/assets/lib (added)
-
tags/2.0.2/assets/lib/images (added)
-
tags/2.0.2/assets/lib/images/ui-bg_flat_0_888888_40x100.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_flat_0_aaaaaa_40x100.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_flat_75_ffffff_40x100.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_glass_25_e1f0f5_1x400.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_glass_55_444444_1x400.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_glass_55_fbf9ee_1x400.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_glass_65_ffffff_1x400.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_glass_75_dadada_1x400.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_glass_75_e6e6e6_1x400.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_highlight-soft_75_cccccc_1x100.png (added)
-
tags/2.0.2/assets/lib/images/ui-bg_inset-soft_95_fef1ec_1x100.png (added)
-
tags/2.0.2/assets/lib/images/ui-icons_222222_256x240.png (added)
-
tags/2.0.2/assets/lib/images/ui-icons_309bbf_256x240.png (added)
-
tags/2.0.2/assets/lib/images/ui-icons_454545_256x240.png (added)
-
tags/2.0.2/assets/lib/images/ui-icons_bf3030_256x240.png (added)
-
tags/2.0.2/assets/lib/images/ui-icons_ffffff_256x240.png (added)
-
tags/2.0.2/assets/lib/jquery-ui.css (added)
-
tags/2.0.2/assets/lib/selectize.bootstrap3.min.css (added)
-
tags/2.0.2/assets/lib/selectize.default.css (added)
-
tags/2.0.2/assets/lib/selectize.min.js (added)
-
tags/2.0.2/gnu.org_licenses_gpl-3.0.txt (added)
-
tags/2.0.2/includes (added)
-
tags/2.0.2/includes/class-wtai-api-services.php (added)
-
tags/2.0.2/includes/class-wtai-cron.php (added)
-
tags/2.0.2/includes/class-wtai-global-settings.php (added)
-
tags/2.0.2/includes/class-wtai-init.php (added)
-
tags/2.0.2/includes/class-wtai-installation.php (added)
-
tags/2.0.2/includes/class-wtai-product-category-list-table.php (added)
-
tags/2.0.2/includes/class-wtai-product-category.php (added)
-
tags/2.0.2/includes/class-wtai-product-dashboard.php (added)
-
tags/2.0.2/includes/class-wtai-product-keyword.php (added)
-
tags/2.0.2/includes/class-wtai-product-list-table.php (added)
-
tags/2.0.2/includes/class-wtai-product-single.php (added)
-
tags/2.0.2/includes/functions.php (added)
-
tags/2.0.2/logs (added)
-
tags/2.0.2/logs/.gitignore (added)
-
tags/2.0.2/readme.txt (added)
-
tags/2.0.2/templates (added)
-
tags/2.0.2/templates/admin (added)
-
tags/2.0.2/templates/admin/bulk-generate-modal.php (added)
-
tags/2.0.2/templates/admin/bulk-keyword-analysis-modal.php (added)
-
tags/2.0.2/templates/admin/category.php (added)
-
tags/2.0.2/templates/admin/dashboard-category.php (added)
-
tags/2.0.2/templates/admin/dashboard.php (added)
-
tags/2.0.2/templates/admin/footer-mobile.php (added)
-
tags/2.0.2/templates/admin/footer.php (added)
-
tags/2.0.2/templates/admin/freemium-badge.php (added)
-
tags/2.0.2/templates/admin/freemium-popup.php (added)
-
tags/2.0.2/templates/admin/generate-feedback.php (added)
-
tags/2.0.2/templates/admin/grid-filter.php (added)
-
tags/2.0.2/templates/admin/install.php (added)
-
tags/2.0.2/templates/admin/intent-tooltip.php (added)
-
tags/2.0.2/templates/admin/metabox (added)
-
tags/2.0.2/templates/admin/metabox/ads.php (added)
-
tags/2.0.2/templates/admin/metabox/category-filter.php (added)
-
tags/2.0.2/templates/admin/metabox/category-image.php (added)
-
tags/2.0.2/templates/admin/metabox/category-product-list-dropdown.php (added)
-
tags/2.0.2/templates/admin/metabox/category-representative-products.php (added)
-
tags/2.0.2/templates/admin/metabox/filter.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-locale.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-optimization-settings.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/cluster-cbp-content-part.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/cluster-cbp-footer-part.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/cluster-cbp-header-part.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/cluster-custom-content-part.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/cluster-custom-footer-part.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/cluster-custom-header-part.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/clusters.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/delete-confirmation.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/error-message.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/keyword-more-data.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/keyword-pool-more-data-single.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/keyword-pool-more-data.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/loader.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/pool.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/trigger-action-options.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword-pipeline/trigger-action.php (added)
-
tags/2.0.2/templates/admin/metabox/keyword.php (added)
-
tags/2.0.2/templates/admin/metabox/keywords-serp.php (added)
-
tags/2.0.2/templates/admin/metabox/popin-history.php (added)
-
tags/2.0.2/templates/admin/metabox/popin-keyword.php (added)
-
tags/2.0.2/templates/admin/metabox/premium-modal.php (added)
-
tags/2.0.2/templates/admin/metabox/premium.php (added)
-
tags/2.0.2/templates/admin/metabox/restart-ko-popup.php (added)
-
tags/2.0.2/templates/admin/post.php (added)
-
tags/2.0.2/templates/admin/settings.php (added)
-
tags/2.0.2/templates/admin/single-edit-progress-bar.php (added)
-
tags/2.0.2/templates/admin/translation-ongoing.php (added)
-
tags/2.0.2/templates/admin/v2-banners (added)
-
tags/2.0.2/templates/admin/v2-banners/free-to-freemium.php (added)
-
tags/2.0.2/templates/admin/v2-banners/free-to-premium.php (added)
-
tags/2.0.2/templates/admin/v2-banners/welcome-v2.php (added)
-
tags/2.0.2/writetext-ai.php (added)
-
tags/2.0.2/writetext-ai.pot (added)
-
trunk/CHANGELOG.md (modified) (2 diffs)
-
trunk/assets/js/admin-common.js (modified) (1 diff)
-
trunk/assets/js/admin-installed.js (modified) (1 diff)
-
trunk/includes/class-wtai-global-settings.php (modified) (1 diff)
-
trunk/includes/class-wtai-product-category.php (modified) (3 diffs)
-
trunk/includes/class-wtai-product-dashboard.php (modified) (8 diffs)
-
trunk/includes/class-wtai-product-list-table.php (modified) (2 diffs)
-
trunk/includes/functions.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/writetext-ai.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
writetext-ai/trunk/CHANGELOG.md
r3250758 r3255135 9 9 The format is based on [Keep a Changelog](http://keepachangelog.com/) 10 10 and this project adheres to [Semantic Versioning](http://semver.org/). 11 12 ## [2.0.2] - 2025-03-13 13 14 ### Fixed 15 16 - Resolved issue with All In One SEO not displaying the generated meta title, description, and OG description on the WC product edit page. 17 - Fix issue with wtai_bulk_product_ids param from failed bulk email notification. 18 19 ### Changed 20 21 - Displayed the terms and conditions notice on the initial page load in case it hasn't been accepted by the user yet, so they can see it right away before using WriteText.ai. 11 22 12 23 ## [2.0.1] - 2025-03-05 … … 21 32 - Introduced a quick feedback button to allow users to easily provide input on generated content. 22 33 - Improved pagination to simplify navigation and management of extensive product inventories. 34 - Highlight keywords for alt text image 23 35 24 36 ### Changed -
writetext-ai/trunk/assets/js/admin-common.js
r3250758 r3255135 2 2 /* jshint -W117 */ 3 3 4 console.log('WriteText.ai - Version: [2.0. 1] - 2025-03-05- 1');4 console.log('WriteText.ai - Version: [2.0.2] - 2025-03-13 - 1'); 5 5 6 6 jQuery( document ).ready( function( $ ){ -
writetext-ai/trunk/assets/js/admin-installed.js
r3250758 r3255135 10069 10069 data: data, 10070 10070 success: function (data) { 10071 if( data.credit_error != '' ){ 10072 setTimeout(() => { 10073 if ($('.wtai-table-list-wrapper').find('.wtai-terms-notice-message-notice').length > 0) { 10074 $('.wtai-table-list-wrapper').find('.wtai-terms-notice-message-notice').remove(); 10075 } 10076 $('<div class="wtai-terms-notice-message-notice error notice is-dismissible"><p>' + data.credit_error + ' </p></div>').insertAfter($('.wtai-table-list-wrapper').find('.wtai-title-header')); 10077 10078 $(window).trigger('resize'); 10079 }, 1000); 10080 } 10081 10071 10082 if (data.html != '') { 10072 10083 displayLoaderNotif(data.html, data.jobs_user_ids, data.job_loader_data, data.has_error); -
writetext-ai/trunk/includes/class-wtai-global-settings.php
r3250758 r3255135 76 76 return; 77 77 } 78 } 79 80 if ( defined( 'WTAI_CREDIT_ACCOUNT_DETAILS' ) && WTAI_CREDIT_ACCOUNT_DETAILS['not_accepted_terms'] ) { 81 ?> 82 <div class="wtai-terms-notice-message-notice notice notice-error" > 83 <p><?php echo wp_kses( WTAI_CREDIT_ACCOUNT_DETAILS['accepted_terms_notice'], wtai_kses_allowed_html() ); ?></p> 84 </div> 85 <?php 86 87 return; 78 88 } 79 89 -
writetext-ai/trunk/includes/class-wtai-product-category.php
r3250758 r3255135 468 468 $latest_version_message = get_option( 'wtai_latest_version_message' ); 469 469 ?> 470 <div class="wtai-update-notice notice notice-error is-dismissible" > 470 <style type="text/css"> 471 #screen-meta-links{ 472 display: none!important; 473 } 474 </style> 475 <div class="wtai-update-notice notice notice-error" > 471 476 <p><?php echo wp_kses( $latest_version_message, wtai_kses_allowed_html() ); ?></p> 477 </div> 478 <?php 479 480 return; 481 } 482 483 if ( defined( 'WTAI_CREDIT_ACCOUNT_DETAILS' ) && WTAI_CREDIT_ACCOUNT_DETAILS['not_accepted_terms'] ) { 484 ?> 485 <style type="text/css"> 486 #screen-meta-links{ 487 display: none!important; 488 } 489 </style> 490 <div class="wtai-terms-notice-message-notice notice notice-error" > 491 <p><?php echo wp_kses( WTAI_CREDIT_ACCOUNT_DETAILS['accepted_terms_notice'], wtai_kses_allowed_html() ); ?></p> 472 492 </div> 473 493 <?php … … 1574 1594 $account_credit_details = wtai_get_account_credit_details( true ); 1575 1595 $is_premium = $account_credit_details['is_premium']; 1576 $available_credit_count = $credit_account_details['available_credits']; 1596 $available_credit_count = $account_credit_details['available_credits']; 1597 $credit_error = $account_credit_details['error']; 1577 1598 1578 1599 $is_premium = $is_premium ? '1' : '0'; … … 1589 1610 1590 1611 $doing_bulk_generation = isset( $_POST['doingBulkGeneration'] ) ? sanitize_text_field( wp_unslash( $_POST['doingBulkGeneration'] ) ) : '0'; // phpcs:ignore WordPress.Security.NonceVerification 1612 1613 if ( '' !== $credit_error ) { // phpcs:ignore WordPress.Security.NonceVerification 1614 echo wp_json_encode( 1615 array( 1616 'results' => null, 1617 'access' => $access, 1618 /* translators: %s: Premium url */ 1619 'message' => $credit_error, 1620 'is_premium' => $is_premium, 1621 'api_results' => array(), 1622 ) 1623 ); 1624 exit; 1625 } 1591 1626 1592 1627 if ( 0 === intval( $is_premium ) && -
writetext-ai/trunk/includes/class-wtai-product-dashboard.php
r3250758 r3255135 167 167 // Attach bulk generate in heartbeat for performance. 168 168 add_filter( 'heartbeat_send', array( $this, 'bulk_handle_heartbeat_send' ), 10, 2 ); 169 170 // Attach bulk generate in heartbeat for performance. 171 add_filter( 'aioseo_get_post', array( $this, 'handling_for_aioseo_get_post' ), 10, 1 ); 169 172 } 170 173 … … 704 707 $latest_version_message = get_option( 'wtai_latest_version_message' ); 705 708 ?> 706 <div class="wtai-update-notice notice notice-error is-dismissible" > 709 <style type="text/css"> 710 #screen-meta-links{ 711 display: none!important; 712 } 713 </style> 714 <div class="wtai-update-notice notice notice-error" > 707 715 <p><?php echo wp_kses( $latest_version_message, wtai_kses_allowed_html() ); ?></p> 716 </div> 717 <?php 718 719 return; 720 } 721 722 if ( defined( 'WTAI_CREDIT_ACCOUNT_DETAILS' ) && WTAI_CREDIT_ACCOUNT_DETAILS['not_accepted_terms'] ) { 723 ?> 724 <style type="text/css"> 725 #screen-meta-links{ 726 display: none!important; 727 } 728 </style> 729 <div class="wtai-terms-notice-message-notice notice notice-error" > 730 <p><?php echo wp_kses( WTAI_CREDIT_ACCOUNT_DETAILS['accepted_terms_notice'], wtai_kses_allowed_html() ); ?></p> 708 731 </div> 709 732 <?php … … 4855 4878 $account_credit_details = wtai_get_account_credit_details( true ); 4856 4879 $is_premium = $account_credit_details['is_premium']; 4857 $available_credit_count = $credit_account_details['available_credits']; 4880 $available_credit_count = $account_credit_details['available_credits']; 4881 $credit_error = $account_credit_details['error']; 4858 4882 4859 4883 $is_premium = $is_premium ? '1' : '0'; … … 4872 4896 4873 4897 $doing_bulk_generation = isset( $_POST['doingBulkGeneration'] ) ? sanitize_text_field( wp_unslash( $_POST['doingBulkGeneration'] ) ) : '0'; // phpcs:ignore WordPress.Security.NonceVerification 4898 4899 if ( '' !== $credit_error ) { // phpcs:ignore WordPress.Security.NonceVerification 4900 echo wp_json_encode( 4901 array( 4902 'results' => null, 4903 'access' => $access, 4904 /* translators: %s: Premium url */ 4905 'message' => $credit_error, 4906 'is_premium' => $is_premium, 4907 'api_results' => array(), 4908 ) 4909 ); 4910 exit; 4911 } 4874 4912 4875 4913 if ( 0 === intval( $is_premium ) && … … 5817 5855 $last_activity = ( 'bulk_transfer' === $submittype ) ? 'transfer' : 'edit'; 5818 5856 wtai_record_product_last_activity( $product_id, $last_activity ); 5857 5858 // Sync to all in one seo pack meta fields if it exists. 5859 $source = get_option( 'wtai_installation_source', '' ); 5860 if ( 'all-in-one-seo-pack' === $source || 'all-in-one-seo-pack-pro' === $source ) { 5861 // Get all in one seo pack meta fields. 5862 wtai_sync_meta_to_all_in_one_seo_pack( $product_id ); 5863 } 5819 5864 } elseif ( ! $api_results ) { 5820 5865 $publish_type_message = __( 'No record found yet for the text fields. Please generate text first before saving.', 'writetext-ai' ); … … 6237 6282 $account_credit_details = wtai_get_account_credit_details( true ); 6238 6283 $is_premium = $account_credit_details['is_premium']; 6239 $available_credit_count = $credit_account_details['available_credits']; 6284 $available_credit_count = $account_credit_details['available_credits']; 6285 $credit_error = $account_credit_details['error']; 6240 6286 $available_credit_label = wtai_get_available_credit_label( $available_credit_count ); 6241 6287 … … 6261 6307 'transfer_pending_ids' => $transfer_pending_ids, 6262 6308 'transfer_data' => $transfer_data, 6309 'credit_error' => $credit_error, 6263 6310 ) 6264 6311 ); … … 6945 6992 return $response; 6946 6993 } 6994 6995 /** 6996 * Handling for aioseo_get_post. 6997 * 6998 * @param object $post Post object. 6999 * @return object Post object. 7000 */ 7001 public function handling_for_aioseo_get_post( $post ) { 7002 $post_id = $post->post_id; 7003 7004 // Check if the post is a product. 7005 $post_type = get_post_type( $post_id ); 7006 if ( 'product' !== $post_type ) { 7007 return $post; 7008 } else { 7009 $key_title = wtai_get_meta_key_source( 'title' ); 7010 $key_description = wtai_get_meta_key_source( 'desc' ); 7011 $key_open_graph = wtai_get_meta_key_source( 'opengraph' ); 7012 7013 $page_title = get_post_meta( $post_id, $key_title, true ); 7014 $page_description = get_post_meta( $post_id, $key_description, true ); 7015 $open_graph = get_post_meta( $post_id, $key_open_graph, true ); 7016 7017 if ( $page_title ) { 7018 $post->title = $page_title; 7019 $post->og_title = $page_title; 7020 $post->twitter_title = $page_title; 7021 } 7022 7023 if ( $page_description ) { 7024 $post->description = $page_description; 7025 $post->og_description = $page_description; 7026 $post->twitter_description = $page_description; 7027 } 7028 7029 if ( $open_graph ) { 7030 $post->og_description = $open_graph; 7031 $post->twitter_description = $open_graph; 7032 } 7033 } 7034 7035 return $post; 7036 } 6947 7037 } 6948 7038 global $wtai_product_dashboard; -
writetext-ai/trunk/includes/class-wtai-product-list-table.php
r3250758 r3255135 671 671 672 672 // Check if 'post__in' is already set in $args. 673 if ( $bulk_product_ids ) {673 if ( $bulk_product_ids && is_array( $args['post__in'] ) ) { 674 674 $args['post__in'] = array_intersect( $args['post__in'], $bulk_product_ids ); 675 675 } else { … … 753 753 } 754 754 } 755 }756 757 // phpcs:ignore WordPress.Security.NonceVerification758 if ( isset( $_GET['wtai_grid_filter_debug'] ) ) {759 print_r( $api_results ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions760 print '</pre>';761 755 } 762 756 } -
writetext-ai/trunk/includes/functions.php
r3250758 r3255135 5163 5163 'free_premium_credits' => false, 5164 5164 'free_credits_already_premium' => false, 5165 'not_accepted_terms' => false, 5166 'accepted_terms_notice' => '', 5167 'error' => '', 5165 5168 ); 5166 5169 if ( 200 === intval( $content['http_header'] ) ) { … … 5182 5185 $result['free_credits_already_premium'] = true; 5183 5186 } 5187 } elseif ( 400 === intval( $content['http_header'] ) ) { 5188 $content = json_decode( $content['result'], true ); 5189 5190 if ( intval( $content['code'] ) === 21 ) { 5191 $result['not_accepted_terms'] = true; 5192 $result['accepted_terms_notice'] = $content['error']; 5193 } 5194 5195 $result['error'] = $content['error']; 5184 5196 } 5185 5197 … … 8109 8121 return $meta_key; 8110 8122 } 8123 8124 /** 8125 * Sync meta to All in One SEO Pack. 8126 * 8127 * @param int $product_id Product ID. 8128 */ 8129 function wtai_sync_meta_to_all_in_one_seo_pack( $product_id = 0 ) { 8130 if ( ! $product_id ) { 8131 return; 8132 } 8133 8134 if ( ! function_exists( 'aioseo' ) ) { 8135 return; 8136 } 8137 8138 $product_post = AIOSEO\Plugin\Common\Models\Post::getPost( $product_id ); 8139 8140 if ( ! $product_post ) { 8141 return; 8142 } 8143 8144 $fields = array( 'page_title', 'page_description', 'open_graph' ); 8145 $meta_values = wtai_get_meta_values( $product_id, $fields ); 8146 8147 foreach ( $meta_values as $field_name => $field_value ) { 8148 if ( 'page_title' === $field_name ) { 8149 $product_post->title = $field_value; 8150 $product_post->og_title = $field_value; 8151 $product_post->twitter_title = $field_value; 8152 } 8153 8154 if ( 'page_description' === $field_name ) { 8155 $product_post->description = $field_value; 8156 } 8157 8158 if ( 'open_graph' === $field_name ) { 8159 $product_post->og_description = $field_value; 8160 $product_post->twitter_description = $field_value; 8161 } 8162 } 8163 8164 $product_post = apply_filters( 'aioseo_save_post', $product_post ); 8165 8166 $product_post->save(); 8167 $product_post->reset(); 8168 } -
writetext-ai/trunk/readme.txt
r3250758 r3255135 5 5 Requires at least: 6.0 6 6 Tested up to: 6.7 7 Stable tag: 2.0. 17 Stable tag: 2.0.2 8 8 Requires PHP: 7.4 9 9 License: GPLv3 or later … … 166 166 == Changelog == 167 167 168 = 2.0.2 2025-03-13 = 169 170 * Fix - Resolved issue with All In One SEO not displaying the generated meta title, description, and OG description on the WC product edit page. 171 * Fix - Fix issue with wtai_bulk_product_ids param from failed bulk email notification. 172 * Update - Displayed the terms and conditions notice on the initial page load in case it hasn't been accepted by the user yet, so they can see it right away before using WriteText.ai. 173 168 174 = 2.0.1 2025-03-05 = 169 175 … … 175 181 * Add - Introduced a quick feedback button to allow users to easily provide input on generated content. 176 182 * Add - Improved pagination to simplify navigation and management of extensive product inventories. 183 * Add - Highlight keywords for alt text image 177 184 * Update - Updated the bulk generate pop-up with a tabbed settings interface for better usability. 178 185 * Update - Updated the conditions for using reference products, expanding selection options to include all products in the catalog. … … 395 402 == Upgrade Notice == 396 403 397 = 2.0. 1=404 = 2.0.2 = 398 405 399 406 Please upgrade, to ensure all plugin features works as expected. -
writetext-ai/trunk/writetext-ai.php
r3250758 r3255135 4 4 * Plugin URI: https://writetext.ai/woocommerce 5 5 * Description: Let AI automatically generate product descriptions and other content from your product data. 6 * Version: 2.0. 16 * Version: 2.0.2 7 7 * Author: 1902 Software 8 8 * Author URI: https://writetext.ai/ … … 56 56 57 57 if ( ! defined( 'WTAI_VERSION' ) ) { 58 define( 'WTAI_VERSION', '2.0. 1' );58 define( 'WTAI_VERSION', '2.0.2' ); 59 59 } 60 60
Note: See TracChangeset
for help on using the changeset viewer.