Forum Replies Created

Viewing 15 replies - 1 through 15 (of 28 total)
  • Plugin Author Dima Pavlenko

    (@dima411)

    Thank you!

    There is a setting to hide country for local shipping – works as long as the location is set properly in WooCommerce settings.

    Anyway, don’t hesitate to modify the plugin code if you have basic HTML/JavaScript understanding. There’s a bunch of examples in support forum I provided within the relevant code areas, so you can simply remove that php/HTML section that outputs that data from the order.

    Plugin Author Dima Pavlenko

    (@dima411)

    1. Make sure you installed the printer official drivers, it’s a very important step, since the driver is usually the one that tells the operating system which paper sizes this printer supports.
    2. Next step is to set the printer “paper”/”page” size properly in operating system. For example on Windows 10 > Start button> type “Printers & Scanners” and click > select the printer > Manage > Printing Preferences – explore the settings there, most likely that’s where the label size should be chosen (if the driver was installed and it’s a label size the printer supports, as these stickers are very diverse from brand to brand).
    3. Make sure to set the height of the label in plugin settings slightly smaller (usually 1mm is enough) – since the “full” size may overflow in Chrome, as it thinks the page is “too large” for that same size (so just decrease the label size setting slightly to prevent this edge case).
    4. After generating labels in Chrome print dialogue > More Settings > Margins set to None – this should prevent overflows caused by the print dialogue default layout/print settings.
    Plugin Author Dima Pavlenko

    (@dima411)

    Hi,

    On many admin WordPress pages you have a “Screen Options” tab/button near the top menu bar, where you can select which columns/meta-boxes to hide/display.

    There you should find “( ) Shipping Labels” option is most likely unchecked, thus its column/meta-box are hidden in the orders pages.

    Dima

    Plugin Author Dima Pavlenko

    (@dima411)

    Hi all,

    Try the new 1.0.7 version I just published, it should be compatible with HPOS, plus a few new font size settings for people to try, like limiting the font size or disabling text auto-fit completely.

    <span style=”text-decoration: underline;”>Info regarding HPOS changes:</span>

    After investigating theΒ HPOS Upgrade Recipe BookΒ apparently WooCommerce added new database tables for orders, but most of the required compatibility areas were related to the changes they made to the orders table page and single order editing page.

    Essentially now they maintain 2 versions of thoseΒ pages with slightlyΒ different APIs (i.e., new dedicated woo_ “hooks” and “filters” instead of native wp_, that are commonly used with WordPress tables/objects), so I added support for both legacy and HPOS options.

    Dima

    Plugin Author Dima Pavlenko

    (@dima411)

    Hi guys,

    Sorry for the inconvenience, due to recent months circumstances (personal and regional, i.e., living in Israel) many of my personal projects are on hold, including this plugin.

    I hope to get to it during December. If anyone tinkers with the plugin, figures out what changed in WooCommerce and what may solve the aforementioned issues – message me directly on Facebook with any insights and I’ll update the plugin with the necessary fixes as soon as possible.

    Thank you for the feedback and support ^-^

    Dima

    Plugin Author Dima Pavlenko

    (@dima411)

    Hi Luke,

    Sorry for late reply, I don’t think there’s a straightforward way to do it in the plugin currently. Any other option would also add extra export/import steps (maybe via PDF), which would make the whole process painfully inconvenient.

    Such functionality in theory can be developed (setting sheet settings, etc. like in one of the screenshots of this 3rd party Chrome plugin), but the worst case scenario is also the most common – which is printing a single label on a partially used sheet. The overhead of dealing with the printer, feeding the sheet over and over and the inconvenience of tracking/choosing the correct placement, in my opinion is not worth the effort (both as developer and as user).

    Though there is one use case in which you can essentially “combine” labels sheets with a dedicated thermal label printer – that is printing sets of branded stickers with return address/social media tags, etc. Especially if you can print them in color. So you leave the “plain address labels” to the dedicated label printer.

    A lady at my previous workplace, where I initially developed the plugin, did use adhesive labels sheets for that, but used to write the address manually. That’s when I figured I have to do something about it πŸ™‚

    From what I recall, she was using Microsoft Word specifically for its Mailings > Labels functionality. Because while printers have page size settings – they don’t support any “label sheet” type of pages. So the software (in this case MS Word) is doing the layout management heavy lifting. Ideally we would have native OS / printer settings support for something like “print pages into labels” and some user interface, but sadly tech giants tend to ignore real world problems lol.

    Dima

    Plugin Author Dima Pavlenko

    (@dima411)

    Hi, sorry for not replying on time.

    If still relevant, in Chrome browser print dialogue > More settings > there’s a Pages per sheet setting you can try with this Free version first, see how it behaves. Maybe play with the layout (portrait/landscape), scale, see what works first.

    There’s also the longer way, if you have the time, to save as PDF and then print from and PDF viewing software, maybe it’ll have more printing layouts available.

    Dima

    Plugin Author Dima Pavlenko

    (@dima411)

    Please describe “it doesn’t work at all” more specific. The printer doesn’t work? Nothing gets printed? Were you able to print anything at all with the printer? Like some image? Not related to the plugin.

    Have you installed the correct drivers? I see there are dedicated Mac drivers on the Brother website:
    https://support.brother.com/g/b/downloadtop.aspx?c=us_ot&lang=en&prod=lpql700eus

    and this looks like a good tutorial:
    https://www.youtube.com/watch?v=e2eubq2BgKU

    Note: I developed this plugin based on Chrome browser print dialogue options. But first of all you need to configure the printer properly on your computer. Then I suggested using Chrome as a baseline test for generating/printing labels. Maybe possible with Brave browser, never tried. I recommend testing on Chrome first.

    Plugin Author Dima Pavlenko

    (@dima411)

    Hi,

    First of all you need to verify you’ve set/installed your printer correctly in your computer/operating system. This is the most overlooked step when people get label printers for the first time. On Windows operating system, this means you’ve installed correct drivers and set the printer page type/size in printer settings (should be available after you installed the drivers, if wasn’t available before).

    Check my answer on this thread:
    https://ww.wp.xz.cn/support/topic/couldnt-print-labels/
    your goal is to be able to print anything on it, as if it’s a regular printer. Like print some Power Point slide/images – just that the printed page is the size of your label.

    I highly recommend watching a few YouTube videos regarding your printer model installation and setup. This is my favorite resource for these kind of things:)

    After you got your printer to print the correct page size, you can test printing the generated labels from Google Chrome (set the correct page size in Print Dialogue and margins to “None“).

    This thread maybe relevant for your Brother printer as well:
    https://ww.wp.xz.cn/support/topic/simply-easy-great/

    Plugin Author Dima Pavlenko

    (@dima411)

    Hi Greg,

    The most common issues are:

    1. Download and install printer drivers – the Brother label printers drivers can be found on support.brother.com, or just search Google for Brother QL-550 drivers and Brother QL-800 drivers.
    2. Setting the correct paper/tape size in printer settings – for example in Windows click the Windows/Start button > type “Printers & scanners” > select your printer > Manage > Printer Properties and see where you can find the label/paper size setting. There are usually many YouTube videos for setting up these label printers from scratch.
    3. Make sure you’re using Google Chrome browser to generate/print the labels page – in the print dialogue Advanced Setting make sure to set Margins > None.
    4. Choose the same label size in the print dialogue.
    5. Reduce the label height in the plugin settings page by 1mm than the official label size – this should prevent page overflows.
    6. It is odd the VAT field appears in the address, I’d explore why it gets appended there, since the plugin takes the address property from the order shipping details as is (or billing if shipping is empty). Sounds like some custom development was done there or a bug. Check the address fields in the order details.

      In any case, if you still experience issues after checking the suggestions above – send me screenshots via Facebook Messenger or send any additional findings you come across in my website contact form.

      Dima

    • This reply was modified 3 years, 6 months ago by Dima Pavlenko.
    Plugin Author Dima Pavlenko

    (@dima411)

    Hi,

    The plugin was developed for use in Google Chrome browser, as it has sufficient print dialogue settings for it properly to work with any label printers. If you’re using Safari or any other browser please switch to Chrome, at least for testing purposes.

    If you’re using Chrome, I’m guessing the new browser tab that should get generated with labels (a.k.a “Pop-up“) is blocked due to either one (or both) of the following cases:

    • Your browser is blocking pop-ups from your site – either your browser settings block pop-ups for all sites by default, or you might have blocked pop-ups for this site yourself, if you recall any prompt window the first time you tried generating the labels.
    • You have some Ad-Block extension installed – they too prevent popups. In this case you need to enable pop-ups for your site in the extension settings.

    There is a similar thread topic you might find useful: Stuck on “Generating”

    If the above didn’t seem to help – please contact me via Facebook Messenger and send screenshots of page console output (in Windows Chrome click F12 key) when you generate a label. I’ll get back to my development environment in the next few days and hopefully address the rest of the topics accumulated in the support forum:)

    Dima

    Plugin Author Dima Pavlenko

    (@dima411)

    I would use the closest layout to your needs, like “Separate Lines” layout, in the plugin settings:

    WooCommerce > Simple Shipping Labels > Recipient tab > Details Layout

    then adjust the code in /admin/admin.php file, within the labels page generation function:

    function generate_shipping_labels_page_html( $orders ) {...}

    above the switch statement:

    switch ( $this->settings['recipient_details_layout'] ) {...}

    you can split the HTML of the address 1 and 2 line:

    <div class="detail-container address"><div contenteditable="true" class="detail<?php echo $this->rtl_css_class($order_address_1) ?>"><?php echo esc_html( $order_address_1 ) . ( (strlen($order_address_2) == 0) ? "" : "&nbsp;" . esc_html( $order_address_2 ) ) ?></div></div>

    Just duplicate this line and remove the address 1 or 2 from one another.

    You can do the same with the layout preview (in plugin settings) in the layouts previews array:

    public $recipient_details_layout_options = array(...);

    Plugin Author Dima Pavlenko

    (@dima411)

    Hey!

    It’s a great idea, which ideally should be implemented with a sophisticated visual editor. Similar to some page builders, providing smart fields to select any meta data to display. Maybe even scanning 3rd party custom fields (meta data) plugins.

    Like Elementor‘s “Dynamic Tags” (a.k.a Dynamic Content), which draws content from the website, or from the current page/post, changing dynamically according to the Page or Post it’s on. Given a rich “PowerPoint“-like visual editor, you would add a dynamic data box where you need them, or inline text tag, to render some meta data.

    Creating such an editor would require very sophisticated client code in React or Angular, to make it right. So, it’s pretty complicated.

    But, for specific needs, you can (relatively) easily modify this simple plugin. I bothered to document pretty much every code block there is, so it’s easier to understand. For others and for me supporting the plugin in the future, forgetting how it works every single time:)

    Here are the areas you’ll probably add your functionality to:

    In the plugin /admin folder there is an admin.php file with the label page generation function:

    function generate_shipping_labels_page_html( $orders ) {...}

    it’s the AJAX function generating the page of labels on the server, which you then get to print in the new opened tab.

    In that function, there is a foreach loop, to get the orders objects from WooCommerce database:

    foreach ($orders as $order_id) {...}

    that’s where you can use the current $order_id or the $order object to get the order client meta data you need, from wherever you’re storing it.

    The label HTML layout is generated in the switch statement, based on the saved layout name in the plugin settings:

    switch ( $this->settings['recipient_details_layout'] ) {...}

    There you can either modify an existing layout, or add your own.

    If you add your own, add the corresponding layout option to the settings page array of layout options to select:

    public $recipient_details_layout_options = array(...);

    To adjust or add CSS, just search some fields classes to find where they are in the code. Most of the label CSS is using flexboxes, so fields are dynamically spread evenly, in case some don’t exist (like phone or country name, based on plugin settings).

    Contact me directly via Facebook if you get stuck on something. It will be easier for me to send screenshots to explain.

    Plugin Author Dima Pavlenko

    (@dima411)

    Thank you for your patience and testing,

    I pushed the small fix, please update the plugin to 1.0.5 version.

    If you still find any unexpected issues, please let me know (preferably via my website or Facebook messenger so I can reply faster).

    Dima

    Plugin Author Dima Pavlenko

    (@dima411)

    Hi,

    In short: I’m going to adjust the plugin and keep this thread open until I do. I understand it’s urgent so I’m working on it.

    Sorry for the inconvenience but yes, there was a breaking change (mentioned in the Change Log section under Development tab in the plugin repository), which should have used the WooCommerce WC_Order class shipping_phone field, rather than the previously used billing_phone.

    Initialy, the reason for this change was that someone contacted me directly through my website, mentioned he’s not getting the shipping phone field on the label. I recalled there was never a dedicated shipping phone field in WooCommerce, but only billing phone. I even had a comment to myself in the plugin code that it’s weired.

    After some research, turned out WooCommerce 5.6 release, around August 2021, added get_shipping_phone() method to the WC_Order class, and there actually is a shipping phone field, if you click the shipping details edit button in some order.

    I guess for some reason, WooCommerce duplicates the billing details to shipping details, except the phone field, which is left empty. Furthermore, most themes don’t expose yet that dedicated shipping phone input field (when “Ship to a different address?” checkbox is selected, showing a separate shipping address form).

    So, for now I guess I’ll simply use the billing phone if the shipping phone is empty. Hopefully it won’t lead to too many problems, since billing person’s phone might be different from the receiving one. At least until WooCoommerce and themes figure it out. Anyway this solution should work the same as previous versions and handle the new cases.

    Dima

Viewing 15 replies - 1 through 15 (of 28 total)