Как я могу синхронизировать свой код с удаленной машиной с помощью ssh? [закрытый]

Я проверил ваш код, и он работает без проблем ... У меня нет проблемного поведения, которое вы описываете ... Итак, что-то еще создает проблемы :

Сначала вам нужно будет сделать резервное копирование базы данных ... Затем вам следует попытаться:

  1. Проверить, есть ли в других ваших настройках отключение Ajax, добавленное в корзину, и появление этого сообщения. Попробуйте прокомментировать другие настройки, чтобы найти виновного.
  2. Попробуйте отключить все сторонние плагины, связанные с Woocommerce (кроме Woocommerce). Если проблема исчезла, включите их один за другим, чтобы найти виновных.

Проблема может быть и из темы.


Теперь, после Woocommerce 3 и внедрения CRUD Objects , ваш код немного устарел.

Вот пересмотренная и улучшенная версия кода (для Woocommerce 3+):

// Add a custom field in the Product data's General tab (for simple products).
add_action( 'woocommerce_product_options_general_product_data', 'add_general_product_data_custom_field' );
function add_general_product_data_custom_field() {
    woocommerce_wp_checkbox( array( // Checkbox.
        'id'            => '_not_ready_to_sell',
        'label'         => __( 'Call to Order', 'woocommerce' ),
        'wrapper_class' => 'show_if_simple',
    ) );
}

// Save custom field value
add_action( 'woocommerce_admin_process_product_object', 'save_general_product_data_custom_field', 10, 1 );
function save_general_product_data_custom_field( $product ) {
    $product->update_meta_data( '_not_ready_to_sell', isset( 

Я проверил ваш код, и он работает без проблем ... У меня нет проблемного поведения, которое вы описываете ... Итак, что-то еще создает проблемы :

Сначала вам нужно будет сделать резервное копирование базы данных ... Затем вам следует попытаться:

  1. Проверить, есть ли в других ваших настройках отключение Ajax, добавленное в корзину, и появление этого сообщения. Попробуйте прокомментировать другие настройки, чтобы найти виновного.
  2. Попробуйте отключить все сторонние плагины, связанные с Woocommerce (кроме Woocommerce). Если проблема исчезла, включите их один за другим, чтобы найти виновных.

Проблема может быть и из темы.


Теперь, после Woocommerce 3 и внедрения CRUD Objects , ваш код немного устарел.

Вот пересмотренная и улучшенная версия кода (для Woocommerce 3+):

[110]

Код входит в файл function.php вашей активной дочерней темы (или активной темы). Это может сработать.

POST['_not_ready_to_sell'] ) ? 'yes' : 'no' ); } // Make not purchasable, products with '_not_ready_to_sell' meta data set to "yes" (for simple products) add_filter( 'woocommerce_is_purchasable', 'filter_woocommerce_set_purchasable', 10, 2); function filter_woocommerce_set_purchasable( $purchasable, $product ) { return 'yes' === $product->get_meta( '_not_ready_to_sell' ) && $product->is_type('simple') ? false : $purchasable; } // Change button text to "Call to Order" for simple products not purchasable. add_filter( 'woocommerce_product_add_to_cart_text', 'filter_product_add_to_cart_text', 10, 2 ); function filter_product_add_to_cart_text( $button_text, $product ) { if ( 'yes' === $product->get_meta( '_not_ready_to_sell' ) && $product->is_type('simple') ) { $button_text = __( 'Call to Order', 'woocommerce' ); } return $button_text; }

Код входит в файл function.php вашей активной дочерней темы (или активной темы). Это может сработать.

11
задан Baum mit Augen 3 August 2018 в 08:48
поделиться

5 ответов

Если бы можно использовать rsync, который, вероятно, был бы лучшим способом.

Был бы с помощью sshfs для (соединений), монтируют удаленную папку (папки) быть опцией? Вы могли или отредактировать файлы непосредственно или использовать rsync, унисон или любую папку к инструменту синхронизации папки затем.

15
ответ дан 3 December 2019 в 02:20
поделиться

Ваш наилучший вариант, кроме распределенного управления версиями, использует rsync по ssh. Я сохраняю несколько машин в синхронизации путем выполнения следования каждого:

rsync -urltv --delete -e ssh /src.dir user@othermachine:/src.dir

Вы упомянули, что использовали MacBook - rsync, находится на Mac OS X. Насколько я знаю, это не должно было быть установлено дополнительное. И красота rsync состоит в том, что он ищет модификации и только копирует измененные файлы. Это не делает, слияние одновременных модификаций как распределенная система управления версиями было бы, но если Вы похожи на меня, где Вы делаете некоторую работу над своим ноутбуком затем, некоторая работа над Вашим рабочим столом, rsync является лучшим способом отправить все измененные файлы (и только измененные файлы) от одного до другого при переключении режимов.

Примечание: rsync опции, используемые здесь:

  • -u, - обновляют файлы пропуска, которые являются более новыми на получателе
  • -r, - рекурсивный рекурсивно вызывают в каталоги
  • -l, - связывает символьные ссылки копии как символьные ссылки
  • -t, - времена сохраняют время изменения
  • -v, - подробное многословие увеличения
  • --delete удалите посторонние файлы от dest директоров, действия как --delete-during

наконец, -e опция, которая позволяет Вам указывать свою удаленную оболочку, в этом случае ssh

13
ответ дан 3 December 2019 в 02:20
поделиться

Еще лучше, чем rsync синхронизатор файла Унисона, который позволит Вам вносить изменения с обоих концов и обнаружит и поможет разрешить любые конфликты. Это работает по ssh.

1
ответ дан 3 December 2019 в 02:20
поделиться

Я знаю, что это не ответ, который Вы знаете, но можно установить SVN или сервер CVS, который был бы настолько легче.

Иначе я пошел бы для rsync.

4
ответ дан 3 December 2019 в 02:20
поделиться

Вероятно, не, что Вы ищете, но необходимо взглянуть на DSCM как мерзавец:

  1. создайте репозиторий в удаленном сервере.
  2. клонируйте его к своей машине разработки с помощью ssh.
  3. добавьте / изменяют код
  4. используйте фиксацию и нажатие (снова по ssh) для слияния изменений.
0
ответ дан 3 December 2019 в 02:20
поделиться
Другие вопросы по тегам:

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