Plugin Directory

Changeset 3404041


Ignore:
Timestamp:
11/27/2025 12:02:55 PM (4 months ago)
Author:
tmutstudio
Message:

version 1.2.2

Location:
alternative-site-settings
Files:
93 added
11 edited

Legend:

Unmodified
Added
Removed
  • alternative-site-settings/trunk/admin/css/alt-site-settings-style.css

    r3382038 r3404041  
    231231    max-width: 600px;
    232232}
     233
     234.ge-seo-meta-panel {
     235    background-color: #f9f9f9;
     236}
     237
    233238.options-analytics dl dd input[type=checkbox]:checked::before {
    234239    width: 1.5rem;
  • alternative-site-settings/trunk/altss.php

    r3397897 r3404041  
    55 * Plugin URI:  https://github.com/tmutstudio/alternative-site-settings
    66 * Description: Plugin for managing site settings, including feedback forms, photo gallery, reviews and contacts.
    7  * Version:     1.2.1
     7 * Version:     1.2.2
    88 * Author:      tmutarakan-dev
    99 * Author URI:  https://github.com/tmutstudio
  • alternative-site-settings/trunk/includes/frontend/frontend-head-functions.php

    r3397897 r3404041  
    55
    66function altss_modify_document_title( $title ) {
     7
    78    if( empty( altss_get_settings_set( 'seo_meta_enabled' ) ) ) {
    89        return $title;
     
    1516    else if ( is_singular() ) {
    1617        $post = get_queried_object();
    17         $meta_title = get_post_meta( $post->ID, 'seo_meta_title', true );
    18         return '' != $meta_title ? $meta_title : $title;
     18
     19        $title_value = get_post_meta( $post->ID, '_seo_meta_title', true );
     20        $title_value_depr = get_post_meta( $post->ID, 'seo_meta_title', true );
     21
     22        $meta_title = empty( $title_value_depr ) ? $title_value ?? '' : $title_value_depr;
     23
     24        return ! empty( $meta_title ) ? $meta_title : $title;
    1925    }
    2026    else if ( is_category() || is_tax() ) {
     
    4652   
    4753    if( is_singular() && !is_front_page() ) {
    48         $meta_ogimage = get_post_meta( $post->ID, 'seo_meta_og_image', true );
    49         if( $meta_ogimage || has_post_thumbnail($post->ID) ) {
    50             if( $meta_ogimage ) {
     54        $description_value = get_post_meta( $post->ID, '_seo_meta_description', true );
     55        $description_value_depr = get_post_meta( $post->ID, 'seo_meta_description', true );
     56        $og_image_value = get_post_meta( $post->ID, '_seo_meta_og_image', true );
     57        $og_image_value_depr = get_post_meta( $post->ID, 'seo_meta_og_image', true );
     58
     59        $meta_description = empty( $description_value_depr ) ? $description_value ?? '' : $description_value_depr;
     60        $meta_ogimage = empty( $og_image_value_depr ) ? $og_image_value ?? '' : $og_image_value_depr;
     61
     62        if( ! empty( $meta_ogimage ) || has_post_thumbnail($post->ID) ) {
     63            if( ! empty( $meta_ogimage ) ) {
    5164                $ogimg = $meta_ogimage;
    5265            }
     
    5669           
    5770        }
    58         $meta_description = get_post_meta( $post->ID, 'seo_meta_description', true );
    5971        $post_excerpt = wp_strip_all_tags( apply_filters( 'get_the_excerpt', $post->post_excerpt, $post ), true );
    60         $desc_value = $ogdesc = esc_attr( $meta_description ?: wp_strip_all_tags( $post_excerpt ) );
     72        $desc_value = $ogdesc = esc_attr( ! empty( $meta_description ) ? $meta_description : wp_strip_all_tags( $post_excerpt ) );
    6173    }
    6274    elseif( is_archive() ){
  • alternative-site-settings/trunk/includes/post-metaboxes.php

    r3382038 r3404041  
    11<?php
    22if ( ! defined( 'ABSPATH' ) ) exit;
     3
     4add_action('rest_api_init', function() {
     5    global $post;
     6    $type = $post->post_type;
     7        register_post_meta( $type, '_seo_meta_title', [
     8            'show_in_rest' => true,
     9            'single' => true,
     10            'type' => 'string',
     11            'auth_callback' => '__return_true'
     12        ]);
     13       
     14        register_post_meta( $type, '_seo_meta_description', [
     15            'show_in_rest' => true,
     16            'single' => true,
     17            'type' => 'string',
     18            'auth_callback' => '__return_true'
     19        ]);
     20
     21        register_post_meta( $type, '_seo_meta_og_image', [
     22            'show_in_rest' => true,
     23            'single' => true,
     24            'type' => 'string',
     25            'auth_callback' => '__return_true'
     26        ]);
     27
     28
     29} );
     30
    331
    432add_action('add_meta_boxes', 'altss_extra_seo_metabox', 1);
    533
    634function altss_extra_seo_metabox() {
     35    global $altss_settings_options, $post, $wp_meta_keys;
     36    $type = $post->post_type;
     37    switch ( $type ) {
     38        case 'page':
     39            $meta_title = __( "Page title text", "altss" );
     40            break;
     41        case 'post':
     42            $meta_title = __( "Post title text", "altss" );
     43            break;
     44    }
     45    if( empty( $altss_settings_options['seo_meta_enabled'] ) ) {
     46        return;
     47    }
     48    if ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( $post ) ) {
     49        wp_enqueue_script(
     50            'altss-ge-metaboxes',
     51            ALTSITESET_URL . '/admin/js/ge-metaboxes.js',
     52            [
     53                'wp-plugins',
     54                'wp-edit-post',
     55                'wp-element',
     56                'wp-components',
     57                'wp-data',
     58                'wp-block-editor',
     59                'wp-i18n'
     60            ],
     61            ALTSITESET__VERSION
     62        );
     63        wp_localize_script( 'altss-ge-metaboxes', 'geScriptData',
     64            [
     65                'i18n_panel_title' => esc_html__( 'Data for SEO promotion', 'altss' ),
     66                'i18n_title_label' => $meta_title,
     67                'i18n_desc_label' => esc_html__( 'Article description', 'altss' ),
     68                'i18n_ogimage_label' => esc_html__( 'og:image', 'altss' ),
     69                'i18n_ogimage_res_label' => esc_html__( 'Optimal resolution 600x315 pixels', 'altss' ),
     70                'i18n_replace_image_label' => esc_html__( 'Replace image', 'altss' ),
     71                'i18n_select_image_label' => esc_html__( 'Select an image', 'altss' ),
     72                'i18n_delete_image_label' => esc_html__( 'Delete', 'altss' ),
     73            ]
     74        );
     75
     76        return;
     77    }
     78   
     79    add_filter( 'is_protected_meta', function( $protected, $meta_key ){
     80        $hide_meta_keys = array( 'footnotes' );
     81        if( in_array( $meta_key, $hide_meta_keys ) ){
     82            return true;
     83        }
     84
     85        return $protected;
     86    }, 10, 2 );
     87
     88
    789    add_meta_box(
    890        'seo_meta_box',
     
    1395            'post',
    1496            'news',
    15             'actions',
     97            'promotions',
    1698            'books',
    1799            'docs',
    18100            'videos',
    19101        ],
    20         'normal'
     102        'normal',
     103        'high',
     104        [
     105        '__back_compat_meta_box' => false,
     106        ]
    21107    );
     108 
    22109}
    23110
     
    32119            break;
    33120    }
    34     ?>
     121
     122    $title_value = get_post_meta( $post->ID, '_seo_meta_title', true );
     123    $title_value_depr = get_post_meta( $post->ID, 'seo_meta_title', true );
     124    $description_value = get_post_meta( $post->ID, '_seo_meta_description', true );
     125    $description_value_depr = get_post_meta( $post->ID, 'seo_meta_description', true );
     126    $og_image_value = get_post_meta( $post->ID, '_seo_meta_og_image', true );
     127    $og_image_value_depr = get_post_meta( $post->ID, 'seo_meta_og_image', true );
     128
     129    $title_val = empty( $title_value_depr ) ? $title_value ?? '' : $title_value_depr;
     130    $description_val = empty( $description_value_depr ) ? $description_value ?? '' : $description_value_depr;
     131    $og_image_val = empty( $og_image_value_depr ) ? $og_image_value ?? '' : $og_image_value_depr;
     132
     133?>
    35134    <div class="seo-meta-box-container">
    36135    <p><?php echo esc_html( $meta_title ); ?> (meta tag title):
    37         <input type="text" name="seo_meta_title" style="width:100%;" value="<?php echo esc_html( get_post_meta($post->ID, 'seo_meta_title', 1) ); ?>" />
     136        <input type="text" name="_seo_meta_title" style="width:100%;" value="<?php echo esc_html( $title_val ); ?>" />
    38137    </p>
    39138    <p><?php esc_html_e( "Article description", "altss" ); ?> (meta tag description):
    40         <textarea name="seo_meta_description" style="width:100%;height:100px;"><?php echo esc_textarea( get_post_meta($post->ID, 'seo_meta_description', 1) ); ?></textarea>
     139        <textarea name="_seo_meta_description" style="width:100%;height:100px;"><?php echo esc_textarea( $description_val ); ?></textarea>
    41140    </p>
    42141    <p><?php esc_html_e( 'og:image', 'altss' ); ?><br />
     
    44143        <?php
    45144            altss_include_uploadscript();
    46             altss_image_uploader_field( 'seo_meta_og_image', esc_url( get_post_meta($post->ID, 'seo_meta_og_image', 1) ) );
     145            altss_image_uploader_field( '_seo_meta_og_image', esc_url( $og_image_val ) );
    47146        ?>
    48147    </p>
     
    63162        return false;
    64163
    65     $meta_title = sanitize_text_field( $_POST['seo_meta_title'] );
    66     $meta_description = sanitize_textarea_field ( $_POST['seo_meta_description'] );
    67     $meta_og_image = sanitize_url ( $_POST['seo_meta_og_image'] );
     164    $meta_title = sanitize_text_field( $_POST['_seo_meta__title'] );
     165    $meta_description = sanitize_textarea_field ( $_POST['_seo_meta__description'] );
     166    $meta_og_image = sanitize_url ( $_POST['_seo_meta__og_image'] );
    68167   
    69168    if( empty( $meta_title ) ){
    70             delete_post_meta( $post_id, 'seo_meta_title' );
     169            delete_post_meta( $post_id, '_seo_meta__title' );
    71170    }
    72171    else {
    73         update_post_meta( $post_id, 'seo_meta_title', $meta_title );
     172        update_post_meta( $post_id, '_seo_meta__title', $meta_title );
    74173    }
    75174
    76175    if( empty( $meta_description ) ){
    77             delete_post_meta( $post_id, 'seo_meta_description' );
     176            delete_post_meta( $post_id, '_seo_meta__description' );
    78177    }
    79178    else {
    80         update_post_meta( $post_id, 'seo_meta_description', $meta_description );
     179        update_post_meta( $post_id, '_seo_meta__description', $meta_description );
    81180    }
    82181
    83182    if( empty( $meta_og_image ) ){
    84             delete_post_meta( $post_id, 'seo_meta_og_image' );
     183            delete_post_meta( $post_id, '_seo_meta__og_image' );
    85184    }
    86185    else {
    87         update_post_meta( $post_id, 'seo_meta_og_image', $meta_og_image );
     186        update_post_meta( $post_id, '_seo_meta__og_image', $meta_og_image );
    88187    }
    89188
  • alternative-site-settings/trunk/languages/altss-ru_RU.po

    r3397897 r3404041  
    155155msgstr "Краткое описание альбома"
    156156
     157msgid "All News Categories"
     158msgstr "Все категории новостей"
     159
    157160msgid "All News categories"
    158161msgstr "Все категории новостей"
     
    10041007msgstr "Удаление плагина"
    10051008
     1009msgid "Replace image"
     1010msgstr "Заменить изображение"
     1011
    10061012msgid "Reply to review"
    10071013msgstr "Ответить на отзыв"
     
    10521058msgstr "Поиск видео категории"
    10531059
     1060msgid "Select an image"
     1061msgstr "Выбрать изображение"
     1062
    10541063msgid "Select form"
    10551064msgstr "Выберите форму"
  • alternative-site-settings/trunk/readme.txt

    r3397897 r3404041  
    33Requires at least: 5.9
    44Tested up to: 6.8.3
    5 Stable tag: 1.2.1
     5Stable tag: 1.2.2
    66Requires PHP: 7.2
    77License: GPLv2 or later
     
    3434== Changelog ==
    3535
     36= 1.2.2 =
     37Fixed an issue with the display of the "Data for SEO promotion" metabox depending on the position of the "check the box to enable META & SEO functionality" checkbox.
     38The "Data for SEO promotion" meta box has been moved to the sidebar in the Gutenberg editor. This meta box remains unchanged in the Classic Editor.
     39
    3640= 1.2.1 =
    3741Fixed a bug with an empty title meta tag.
    38 The captions for the color fields in the cookie banner settings in the admin panel have been corrected.
     42The captions for the button color fields in the cookie banner settings in the admin panel have been corrected.
    3943Added missing Russian translation strings.
    4044
     
    7781= How contact forms are displayed in a theme? =
    7882
    79 During plugin activation, the cf-style.css and cf-script.js files are copied to the “css” and “js” directories located in the “assets” directory of the active theme, respectively. The files do not
    80 overwrite existing files - this is done so that you can set individual styles for forms, unique to each theme. When activating a new theme, the plugin will also have to be activated again.
     83During plugin activation, the cf-style.css and cf-script.js files are copied to the “css” and “js” directories located in the “assets” directory of the active theme, respectively. The cf-style.css file do not
     84overwrite existing file - this is done so that you can set individual styles for forms, unique to each theme. When activating a new theme, the plugin will also have to be activated again.
    8185The display of buttons and forms is carried out either using a shortcode, or by directly registering the buttons in the header file of the theme itself.
    8286
Note: See TracChangeset for help on using the changeset viewer.