Siarhei Pashkevich: так не получится. Вы по прямому урл к файлу плагина сможете его запустить, но он запустится без среды WordPress, то есть работать не будет.
Эдуард Валеев: ну, если у вас один свой сайт который вы лелеете и готовы тратить время на эти танцы с бубном, то можно конечно и так. Для клиентов такого делать категорически нельзя. Да и вообще, если сайтов больше 2-3, эти танцы превращаются в бесполезную трату времени. Дешевле купить. И да, обновления нужны.
Galyanoff: и что? Есть куча плагинов настолько простых и базовых, что со временем нечего там менять. Они просто работают и будут работать годами. Берите, пробуйте. Работает - ок, и не смотрите на обновления. Иногда они просто не нужны, нечего там обновлять.
Ressive: ну примера короткого и понятного не получится, надо разбираться с тем что вы уже написали и как сделали архитектуру (если это можно так назвать).
Готового плагина "все в одном" я не встречал. Тут много кастомного функционала писать надо, либо все свое, либо собирать из нескольких плагинов и допиливать недостающее.
Ressive: Нельзя)) Для начала ваш код смотреть надо, определяться с оптимальным решением и потом код пилить. Если намека "писать в мета и проверять его при загрузке страницы" вам недостаточно, боюсь что сами вы код не осилите, даже с примером. Без обид. Просто надо архитектуру понимать. Так что вам сначала в доку наверное.
Izy: вам нужно указывать локальный домен. это может быть localhost, lol.dev, какой угодно - зависит от того какой сервер используете. Но открывать эту папочку надо не по файловому протоколу (D:/projects/lol/ например), а по протоколу http, который будет обслуживаться локальным веб-сервером - Apache/Nginx, с поддержкой PHP.
Опять я к вам в комментарии вклиниваюсь :) Не нужно редактировать шаблоны в папке плагина, изменения слетят при обнове. Копируете папку templates в папку своей темы, называете ее woocommerce и редактируете там. Можно там оставить только нужные измененные шаблоны, остальное грохнуть. WC при загрузке своих шаблонов сначала ищет его в папке темы, если так нет - тогда у себя в папке.
Ressive: А вот тут вариантов много. Даже не знаю с чего начать. Можно постам добавить мета-поле для указания урл перевода и вставлять его с помощью get_post_meta. Можно точно так же в мета-поле указывать пост-перевод, хранить его ID и по нему получать корректный урл с помощью get_permalink( $id ). Это сразу навскидку. Подумать еще 5 минут - и придумается еще парочка способов. Вся беда в том, что у вас переводы между собой не связаны архитектурно. Отсюда и геморрой.
Иван Козлов: К сожалению, документация Кодекса местами устарела. Всегда надо код смотреть. MD5, и то как один из составляющих шагов, сохранился исключительно как legacy (думаю не стоит объяснять почему в WP столько legacy поддержки). По умолчанию он уже некоторое время не используется.