У меня было много проблем, чтобы функциональность этого приложения работала на 100% в Wordpress. У меня есть рабочая версия приложения на сервере за пределами Wordpress, однако, когда Wordpress включается, вещи становятся забавными.
Проблема, с которой я столкнулся сейчас, связана со вторым этапом процесса, когда пользователь может обрезать часть изображения, отображаемую в центре кода qr. Здесь вы можете увидеть рабочий пример и то, что должно произойти, а здесь вы можете увидеть, где он ломается на втором шаге. Я предполагаю, что где-то в теме Wordpress есть конфликт CSS, так как jQuery, кажется, работает нормально. Элемент проверки показывает, что в рабочем примере поля и высота / ширина корректируются на лету с помощью обрезанного выделения, но в разбитом примере высота / ширина вообще не корректируются. I попробовал отключить все CSS-файлы, которые есть в теме, но безрезультатно.
Вот jQuery, который мы используем для обновления изображения справа, так как изображение слева обрезается. Плагин, который мы используем, это jcrop. Проблема заключается в том, что в рабочей версии высота и ширина корректно обновляются с помощью встроенного CSS, но в сломанной версии эти значения отсутствуют, однако поля работают правильно в обеих версиях.
//function to update preview divs
jQuery(function($){
var jcrop_api, boundx, boundy; //set jcrop variables
function updatePreview(c)
{
if (parseInt(c.w) > 0)
{
var rx = 73 / c.w;
var ry = 73 / c.h;
jQuery('#preview').css({
width: Math.round(rx * boundx) + 'px !important',
height: Math.round(ry * boundy) + 'px !important',
marginLeft: '-' + Math.round(rx * c.x) + 'px !important',
marginTop: '-' + Math.round(ry * c.y) + 'px !important'
});
}
};
//function to update coordinates
function updateCoords(c)
{
jQuery('#x').val(c.x);
jQuery('#y').val(c.y);
jQuery('#w').val(c.w);
jQuery('#h').val(c.h);
};
jQuery(window).load(function () {
var PathToFile = jQuery('#cropImageDisplay').attr("name");
jQuery('#cropImageDisplay').load("/wp-content/themes/howfarqr/resources/php/uploadedImage.php?fn="+PathToFile).hide().fadeIn('slow', function() {
jQuery('#cropbox').Jcrop({ //jcrop selector
onChange: updatePreview, //function to execute onChange
onSelect: updateCoords, //function to execute onSelect
aspectRatio: 1 //asepct ratio
},function(){ //callback function
var bounds = this.getBounds(); // get the real image size
boundx = bounds[0]; //assign x
boundy = bounds[1]; //assign y
//store jcrop api as jcrop variable
jcrop_api = this;
});
});
});
});