• Resolved casing12

    (@casing12)


    I want to show the page counter on pdf invoice. Could you please let me know how to display it?

Viewing 13 replies - 1 through 13 (of 13 total)
  • You might want to have a look at this thread: https://wordpress.org/support/topic/print-pdf-page-number/

    I checked the link. I have code in style css file with page number. but I do not see any page counter being used in invoice.php file. Please let me know how to proceed?

    this is there in style css file.

    /* page numbers */
    .pagenum:before {
    content: counter(page);
    }.pagenum,.pagecount {
    font-family: sans-serif;
    }

    Plugin Author Ewout

    (@pomegranate)

    You can get these variables with the placeholder {{PAGE_NUM}} & {{PAGE_COUNT}}. If you give these fixed positioning (as in the example @trupsch linked to, where they use repeating footers), it will repeat over the pages. Note that this doesn’t work well for bulk export though.

    With the free version you can add this with a small code snippet. If you haven’t worked with code snippets (actions/filters) or functions.php before, read this guide: How to use filters

    
    add_action( 'wpo_wcpdf_before_document', 'wpo_wcpdf_page_numbers', 10, 2 );
    function wpo_wcpdf_page_numbers( $document_type, $document ) {
        echo '<div style="position: fixed; bottom: 0cm; left: 0cm;">Page {{PAGE_NUM}} / {{PAGE_COUNT}}</div>';
    }
    

    If you have the premium templates extension you can add this via the customizer in a custom block:

    You may need to play with the position a bit (negative “bottom” value to pull it into or below the footer for example).

    It worked alright. Thank you!

    I want to show the page counter on pdf invoice with this code. But this doesn’t work on first page.

    add_action( ‘wpo_wcpdf_before_document’, ‘wpo_wcpdf_page_numbers’, 10, 2 );
    function wpo_wcpdf_page_numbers( $document_type, $document ) {
    echo ‘<div style=”position: fixed; bottom: 0cm; left: 0cm;”>Page {{PAGE_NUM}} / {{PAGE_COUNT}}</div>’;

    Could you please let me know how to display it?

    Plugin Author Ewout

    (@pomegranate)

    I double checked this but it works on my end. Did you use that exact code? Where did you place the code?

    
    add_action( 'wpo_wcpdf_before_document', 'wpo_wcpdf_page_numbers', 10, 2 );
    function wpo_wcpdf_page_numbers( $document_type, $document ) {
        echo '<div style="position: fixed; bottom: 0cm; left: 0cm;">Page {{PAGE_NUM}} / {{PAGE_COUNT}}</div>';
    }
    

    I place the code in bottom of invoice.php

    Plugin Author Ewout

    (@pomegranate)

    Ah that explains – this code snippet is not supposed to be put in the actual template itself, but as a separate action. More information: How to use filters

    Alternatively, if you prefer putting this directly in the template, you will need to remove the function part and place this at the top of the document (before or after tthe wpo_wcpdf_before_document action):

    
    <div style="position: fixed; bottom: 0cm; left: 0cm;">Page {{PAGE_NUM}} / {{PAGE_COUNT}}</div>
    

    I place the code in child-theme’s functions.php and it’s works.
    Thanks

    Hi Ewout,
    I added this table in invoice.php.
    But I do not want to post it for billing country France

    Can you help me ?

    <!–////////////CUSTOMS 1//////////////////–>

    <table class=”custom” >
    <tr>
    <th colspan=”2″ style=”font-family: Verdana, Geneva, sans-serif; font-size:13px; font-weight:700; color:#000; background-color:#ccc; “>CUSTOMS</th>
    </tr>
    <tr>
    <td class=”custom-titre”>Product origin</td>
    <td class=”custom-text”>FRANCE</td>
    </tr>
    <tr>
    <td class=”custom-titre”>ISV EORI #</td>
    <td class=”custom-text”>FR 381 630 425 00035</td>
    </tr>
    <tr>
    <td class=”custom-titre”>Incoterm</td>
    <td class=”custom-text”>DAP</td>
    </tr>
    <tr>
    <td class=”custom-titre”>VAT</td>
    <td class=”custom-text”>get_template_path(); ?>/carre.gif” /> Intra-community supply exempt from VAT, art.138, Community Directive 2006/112/EC<br/>

    get_template_path(); ?>/carre.gif” />
    VAT exemption, art.262-ter I, CGI, France.

    <b>
    <?php
    $texte2 =”Customer UE VAT Number : “;
    ?>
    <?php if ( ” != ( $billing_eu_vat_number = get_post_meta( $order->get_id(), ‘_billing_eu_vat_number’, true ) ) ) {
    echo esc_html ($texte2);
    echo esc_html ( $billing_eu_vat_number );
    }
    ?>
    </b>

    </td>
    </tr>
    <tr>
    <td class=”custom-titre”>Customs tariff</td>
    <td class=”custom-text”>382200</td>
    </tr>
    </table>

    Plugin Author Ewout

    (@pomegranate)

    @mderuere this doesn’t seem to be related to the rest of this topic (page numbers), can you open a new topic? Also a quick tip, when posting code here on the forums, you can select the code and then add a backtick on the line before and after the code, and it will be formatted correctly!

    
    <td class="custom-titre">Customs tariff</td>
    <td class="custom-text">382200</td>
    

    screenshot:

    You can also add this backtick by clicking the code button, just make sure the code starts on a new line

    Oh yes sorry !
    I think I found the solution like that.

    
    <?php if ( $this->order->get_billing_country() != 'FR' ) : ?>
         <table>......</table>
    <?php endif; ?>
    

    Merci

Viewing 13 replies - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.