HectorPrima
@HectorPrima
программист

Почему не работает трансляция?

Убился ... не могу понять в чем дело. Раньше простые плагины делал без классов. Трансляция работала. Сейчас сделал с классами и все сломалось. Где проблема?

Основной файл
<?php
/**
 * Plugin Name: Translation demo
 */
namespace langdemo;

if (!defined('WPINC')) {
    die;
}

function run() {
    require_once plugin_dir_path(__FILE__) . 'class-plugin.php';
    $plugin = new Plugin();
    $plugin->run();
}

run();


Дополнительный.
<?php

namespace langdemo;

class Plugin
{
    public function load_languages() {
     	load_plugin_textdomain( 'langdemo', false, plugin_dir_path( __FILE__ ) . '/languages' );
    }

    public function show_langdemo_text() {
    	echo "<p id='wp-langdemo'>" . __('Simple text','langdemo') . "</p>";
    }


    public function langdemo_assets($hook) {
        wp_enqueue_style( 'langdemo', plugin_dir_url(__FILE__) . 'css/styles.css' );
    }


    public function run() {
        add_action( 'plugins_loaded', array( $this, 'load_languages' ) );
    	add_action( 'admin_notices', array( $this, 'show_langdemo_text' ) );
        add_action( 'admin_enqueue_scripts', array( $this, 'langdemo_assets' ) );
    }
}


Ну и собственно "Simple text" не переводится. Как будто не грузится перевод. (Перевод в папке languages есть. langdemo-ru_RU.mo и langdemo-ru_RU.po)

Весь пакетик тут лежит: https://yadi.sk/d/-jmMaZHq3N4abm

Там всего 5 файлов. Подскажите в чем проблема?
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
А если вот так:

<?php
/**
 * Plugin Name: Translation demo
 */
namespace langdemo;

if (!defined('WPINC')) {
    die;
}

function run() {
    require_once plugin_dir_path(__FILE__) . 'class-plugin.php';
    $plugin = new Plugin();
    $plugin->run();
}

add_action( 'plugins_loaded', 'run' );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы