• У меня на сайте реализована мультиязычность без плагинов – просто две разные категории. Вопрос в том, что переодически английское слово и транслитерация – одинаковы. И на английской версии светится русский тег (или наоборот, в зависимости какой добавили первый). Если ли возможность отключить конвертацию тегов или вообще все – кроме слагов постов?

Viewing 1 replies (of 1 total)
  • Plugin Author kaggdesign

    (@kaggdesign)

    Вы можете использовать такой фильтр:

    
    /**
     * Prevent cyr2lat to work anywhere else except posts.
     *
     * @param array $table Conversion table.
     *
     * @return array
     */
    function my_ctl_table ( $table ) {
    	$frames = debug_backtrace();
    
    	foreach ( $frames as $frame ) {
    		if ( 'wp_update_post' === $frame['function'] ) {
    			return $table;
    		}
    	}
    
    	return [];
    }
    
    add_filter( 'ctl_table', 'my_ctl_table' );
    

    Надо понимать, однако, что debug_backtrace() функция “тяжёлая” и не предназначена для использования на production. Другой возможности определить, что идёт обновление или добавление поста, я не вижу – хуков там нет.

    P.S. Ваша проблема – следствие реализации мультиязычности без плагинов. Плагины эти созданы не просто так и решают данную проблему и массу аналогичных.

Viewing 1 replies (of 1 total)
  • The topic ‘Отключить конвертацию тегов?’ is closed to new replies.