Plugin Directory

Changeset 3448095


Ignore:
Timestamp:
01/27/2026 05:27:43 PM (2 months ago)
Author:
grzelkowski
Message:

version 1.8.8

Location:
quick-ajax-post-loader/trunk
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • quick-ajax-post-loader/trunk/css/admin-style.css

    r3438871 r3448095  
    4545        -ms-flex-direction:column;
    4646            flex-direction:column;
    47     margin-top:16px;
    4847}
    4948#shortcode-box-wrap .shortcode-description{
     
    5150    margin-bottom:4px;
    5251}
    53 #shortcode-box-wrap .click-and-select-all{
    54     display: -webkit-box;
    55     display: -ms-flexbox;
    56     display: flex;
    57     -webkit-box-orient: vertical;
    58     -webkit-box-direction: normal;
    59         -ms-flex-direction: column;
    60             flex-direction: column;
    61     -ms-flex-wrap: wrap;
    62         flex-wrap: wrap;
    63     margin-right: auto;
    64 }
    65 #shortcode-box-wrap pre{
    66     margin:0;
    67     padding: 10px 10px 11px;
    68     border:1px solid #8c8f94;
    69     border-radius: 3px;
    70     background: var(--qapl-code-bg);
    71 }
    72 #shortcode-box-wrap code{
    73     line-height: 1;
    74     background: var(--qapl-code-bg);
    75     white-space: pre-wrap;
    76     word-break: break-word;
    77     cursor:pointer;
    78 }
     52#shortcode-box-wrap .qapl-shortcode-display{
     53    display: -webkit-box;
     54    display: -ms-flexbox;
     55    display: flex;
     56    gap: 10px;
     57    -webkit-box-align: center;
     58        -ms-flex-align: center;
     59            align-items: center;
     60    max-width:806px;
     61}
     62#shortcode-box-wrap #qapl-shortcode-input{
     63    width: 100%;
     64    background: #fff;
     65    padding: 8px;
     66    font-family: monospace;
     67}
     68/* copy button */
     69.copy-button-input,
     70.copy-button-text{
     71    min-width: 90px;
     72}
     73
    7974/* switch button */
    8075.quick-ajax-form-wrap .switch-checkbox{
     
    395390    max-width: 480px;
    396391}
     392.function-generator-buttons{
     393    display: -webkit-box;
     394    display: -ms-flexbox;
     395    display: flex;
     396    gap: 10px;
     397    margin-bottom: 20px;
     398}
    397399.function-generator-result > pre{
    398400    /* max-width: 420px; */
  • quick-ajax-post-loader/trunk/css/admin-style.min.css

    r3438871 r3448095  
    1 #shortcode-box-wrap,.quick-ajax-form-wrap{--qapl-theme-color:#2271b1;--qapl-bg:#ffffff;--qapl-bg-muted:#f6f7f7;--qapl-border:#c3c4c7;--qapl-text-muted:#50575e;--qapl-switch-bg:#cccccc;--qapl-switch-shadow:rgba(0,0,0,0.5);--qapl-tab-bg:#dcdcdc;--qapl-code-bg:#fcfcfc}.light-style{--qapl-theme-color:#04a4cc}.modern-style{--qapl-theme-color:#3858e9}.blue-style{--qapl-theme-color:#e1a948}.coffee-style{--qapl-theme-color:#c7a589}.ectoplasm-style{--qapl-theme-color:#a3b745}.midnight-style{--qapl-theme-color:#e14d43}.ocean-style{--qapl-theme-color:#9ebaa0}.sunrise-style{--qapl-theme-color:#dd823b}#shortcode-box-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-top:16px}#shortcode-box-wrap .shortcode-description{padding:0 2px;margin-bottom:4px}#shortcode-box-wrap .click-and-select-all{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:auto}#shortcode-box-wrap pre{margin:0;padding:10px 10px 11px;border:1px solid #8c8f94;border-radius:3px;background:var(--qapl-code-bg)}#shortcode-box-wrap code{line-height:1;background:var(--qapl-code-bg);white-space:pre-wrap;word-break:break-word;cursor:pointer}.quick-ajax-form-wrap .switch-checkbox{display:inline-block;min-height:30px}.quick-ajax-form-wrap .switch-wrap{position:relative;width:40px;height:20px;margin-top:6px}.quick-ajax-form-wrap .switch-wrap input{opacity:0;width:0;height:0}.quick-ajax-form-wrap .switch{border-radius:12px}.quick-ajax-form-wrap .switch:before{border-radius:50%}.quick-ajax-form-wrap input+.switch{position:absolute;cursor:pointer;top:-1px;left:0;right:0;bottom:1px;background-color:var(--qapl-switch-bg);-webkit-box-shadow:inset 0 0 3px var(--qapl-switch-shadow);box-shadow:inset 0 0 3px var(--qapl-switch-shadow);-webkit-transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.quick-ajax-form-wrap .switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:var(--qapl-bg);-webkit-transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.quick-ajax-form-wrap input:checked+.switch{background-color:var(--qapl-theme-color);-webkit-box-shadow:inset 0 0 3px var(--qapl-switch-shadow);box-shadow:inset 0 0 3px var(--qapl-switch-shadow)}.quick-ajax-form-wrap input:checked+.switch:before{-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}.quick-ajax-form-wrap{margin-top:2rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.quick-ajax-form-wrap select:focus{border-color:var(--qapl-theme-color);-webkit-box-shadow:0 0 0 1px var(--qapl-theme-color);box-shadow:0 0 0 1px var(--qapl-theme-color)}.quick-ajax-form-wrap .quick-ajax-field-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;visibility:visible;opacity:1;margin-bottom:16px;-webkit-transition:opacity .15s ease,margin-bottom .15s ease;transition:opacity .15s ease,margin-bottom .15s ease}.quick-ajax-form-wrap .quick-ajax-field-container.inactive{visibility:hidden;height:0;opacity:0;margin-bottom:0}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field-label{-webkit-box-flex:0;-ms-flex:0 0 210px;flex:0 0 210px;margin-top:6px;display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{max-width:580px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>div,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>input,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>select{max-width:100%;width:100%;margin:0}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{-webkit-box-flex:0;-ms-flex:0 1 calc(100% / 3);flex:0 1 calc(100% / 3);min-width:180px;padding:6px 0;min-height:32px;-webkit-box-sizing:border-box;box-sizing:border-box}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option label{cursor:pointer}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field-desc{margin-top:5px;margin-bottom:0;color:var(--qapl-text-muted);font-style:italic}@media (max-width:782px){.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field-label{-ms-flex-preferred-size:100%;flex-basis:100%;margin-top:0;margin-right:0}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.qapl-tooltip{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:help;outline:0}.qapl-tooltip .qapl-tooltip-icon{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.qapl-tooltip .qapl-tooltip-icon-inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:13px;height:13px;border:2px solid var(--qapl-theme-color);border-radius:50%;font-size:13px;font-weight:700;line-height:1;color:var(--qapl-theme-color)}.qapl-tooltip .qapl-tooltip-content{position:absolute;bottom:25px;left:0;width:340px;max-width:340px;background-color:var(--qapl-bg);color:var(--qapl-text-muted);padding:8px 10px;border:1px solid var(--qapl-border);border-radius:4px;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.1);box-shadow:0 2px 6px rgba(0,0,0,.1);z-index:10;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.qapl-tooltip .qapl-tooltip-content-inner{display:block;white-space:normal}.qapl-tooltip:focus .qapl-tooltip-content,.qapl-tooltip:hover .qapl-tooltip-content{opacity:1;visibility:visible}.quick-ajax-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;overflow:hidden}.quick-ajax-tabs:before{content:'';position:absolute;width:100%;bottom:0;height:1px;background-color:var(--qapl-border)}.quick-ajax-tab-button{position:relative;padding:5px 10px;cursor:pointer;z-index:0;background:var(--qapl-tab-bg);border:1px solid var(--qapl-border);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:0;margin:0 5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:background-color .15s ease,border-color .15s ease;transition:background-color .15s ease,border-color .15s ease}.quick-ajax-tab-button:first-of-type{margin-left:0}.quick-ajax-tab-button:hover{background:var(--qapl-bg-mute)}.quick-ajax-tab-button.active{background:var(--qapl-bg);z-index:1;border-bottom:1px solid var(--qapl-bg)}.quick-ajax-tab-content,.quick-ajax-tab-content[hidden]{position:relative;background:var(--qapl-bg);padding:16px;border:1px solid var(--qapl-border);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);display:none}.quick-ajax-tab-content.active{display:block}.quick-ajax-tab-content+.quick-ajax-tab-content,.quick-ajax-tabs+.quick-ajax-tab-content{border-top:none}.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:start;-webkit-column-gap:100px;-moz-column-gap:100px;column-gap:100px}.function-generator-options{max-width:580px}.function-generator-options .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{min-width:50%}.function-generator-result{width:auto;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:480px}.function-generator-result>pre{overflow:auto}@media (max-width:1200px){.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.function-generator-options,function-generator-result{width:100%;max-width:unset}}.quick-ajax-form-wrap code.no-background{background:0 0;padding:3px 0 2px;font-size:14px}.quick-ajax-form-wrap code.code-tag{padding:2px 4px 3px;margin:0 1px;background:rgba(0,0,0,.07)}.quick-ajax-form-wrap pre{white-space:pre-wrap;word-wrap:break-word}.quick-ajax-form-wrap ul.ul-numbered{list-style-type:decimal;padding-left:13px}.quick-ajax-form-wrap li ul{margin-top:6px}.quick-ajax-accordion-wrapper{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;overflow:hidden;margin-bottom:16px}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 1.5em;min-height:44px;background:var(--qapl-bg);border:1px solid var(--qapl-border);cursor:pointer;outline:unset}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:hover{background:var(--qapl-bg-muted)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-width:2px;outline-style:solid;outline-offset:-2px;outline-color:var(--qapl-theme-color);background-color:var(--qapl-bg-muted);z-index:1}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active{background:var(--qapl-bg)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active:hover{background:var(--qapl-bg-muted)}.quick-ajax-accordion-wrapper .accordion-title{max-width:calc(100% - 26px);font-size:13px;font-weight:600;line-height:1;margin:0}.quick-ajax-accordion-wrapper .accordion-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active .accordion-icon{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.quick-ajax-accordion-wrapper .accordion-icon span{pointer-events:none;position:absolute;border:solid #50575e;border-width:0 2px 2px 0;height:.5rem;width:.5rem;top:50%;right:0;-webkit-transform:translateY(-70%) rotate(45deg);-ms-transform:translateY(-70%) rotate(45deg);transform:translateY(-70%) rotate(45deg)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-content{display:none;border:1px solid var(--qapl-border);border-top:none;padding:0 1.5em 1em 1.5em}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active+.quick-ajax-accordion-content:before{content:"";position:absolute;display:block;background:var(--qapl-bg);height:1px;left:1px;right:1px;margin-top:-1px}.qapl-admin-page-loader{position:relative;height:20px;width:40px;padding:6px 0;margin-left:0;vertical-align:middle}.qapl-admin-page-loader span{position:absolute;top:50%;left:0;width:6px;height:6px;background-color:#50575e;border-radius:50%;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0;-webkit-animation:qapl-admin-loader-animation 1.8s linear infinite;animation:qapl-admin-loader-animation 1.8s linear infinite}.qapl-admin-page-loader span:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.qapl-admin-page-loader span:nth-child(2){-webkit-animation-delay:.6s;animation-delay:.6s}.qapl-admin-page-loader span:nth-child(3){-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}@keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}
     1#shortcode-box-wrap,.quick-ajax-form-wrap{--qapl-theme-color:#2271b1;--qapl-bg:#ffffff;--qapl-bg-muted:#f6f7f7;--qapl-border:#c3c4c7;--qapl-text-muted:#50575e;--qapl-switch-bg:#cccccc;--qapl-switch-shadow:rgba(0,0,0,0.5);--qapl-tab-bg:#dcdcdc;--qapl-code-bg:#fcfcfc}.light-style{--qapl-theme-color:#04a4cc}.modern-style{--qapl-theme-color:#3858e9}.blue-style{--qapl-theme-color:#e1a948}.coffee-style{--qapl-theme-color:#c7a589}.ectoplasm-style{--qapl-theme-color:#a3b745}.midnight-style{--qapl-theme-color:#e14d43}.ocean-style{--qapl-theme-color:#9ebaa0}.sunrise-style{--qapl-theme-color:#dd823b}#shortcode-box-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#shortcode-box-wrap .shortcode-description{padding:0 2px;margin-bottom:4px}#shortcode-box-wrap .qapl-shortcode-display{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:806px}#shortcode-box-wrap #qapl-shortcode-input{width:100%;background:#fff;padding:8px;font-family:monospace}.copy-button-input,.copy-button-text{min-width:90px}.quick-ajax-form-wrap .switch-checkbox{display:inline-block;min-height:30px}.quick-ajax-form-wrap .switch-wrap{position:relative;width:40px;height:20px;margin-top:6px}.quick-ajax-form-wrap .switch-wrap input{opacity:0;width:0;height:0}.quick-ajax-form-wrap .switch{border-radius:12px}.quick-ajax-form-wrap .switch:before{border-radius:50%}.quick-ajax-form-wrap input+.switch{position:absolute;cursor:pointer;top:-1px;left:0;right:0;bottom:1px;background-color:var(--qapl-switch-bg);-webkit-box-shadow:inset 0 0 3px var(--qapl-switch-shadow);box-shadow:inset 0 0 3px var(--qapl-switch-shadow);-webkit-transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.quick-ajax-form-wrap .switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:var(--qapl-bg);-webkit-transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.quick-ajax-form-wrap input:checked+.switch{background-color:var(--qapl-theme-color);-webkit-box-shadow:inset 0 0 3px var(--qapl-switch-shadow);box-shadow:inset 0 0 3px var(--qapl-switch-shadow)}.quick-ajax-form-wrap input:checked+.switch:before{-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}.quick-ajax-form-wrap{margin-top:2rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.quick-ajax-form-wrap select:focus{border-color:var(--qapl-theme-color);-webkit-box-shadow:0 0 0 1px var(--qapl-theme-color);box-shadow:0 0 0 1px var(--qapl-theme-color)}.quick-ajax-form-wrap .quick-ajax-field-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;visibility:visible;opacity:1;margin-bottom:16px;-webkit-transition:opacity .15s ease,margin-bottom .15s ease;transition:opacity .15s ease,margin-bottom .15s ease}.quick-ajax-form-wrap .quick-ajax-field-container.inactive{visibility:hidden;height:0;opacity:0;margin-bottom:0}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field-label{-webkit-box-flex:0;-ms-flex:0 0 210px;flex:0 0 210px;margin-top:6px;display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{max-width:580px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>div,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>input,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>select{max-width:100%;width:100%;margin:0}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{-webkit-box-flex:0;-ms-flex:0 1 calc(100% / 3);flex:0 1 calc(100% / 3);min-width:180px;padding:6px 0;min-height:32px;-webkit-box-sizing:border-box;box-sizing:border-box}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option label{cursor:pointer}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field-desc{margin-top:5px;margin-bottom:0;color:var(--qapl-text-muted);font-style:italic}@media (max-width:782px){.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field-label{-ms-flex-preferred-size:100%;flex-basis:100%;margin-top:0;margin-right:0}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.qapl-tooltip{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:help;outline:0}.qapl-tooltip .qapl-tooltip-icon{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.qapl-tooltip .qapl-tooltip-icon-inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:13px;height:13px;border:2px solid var(--qapl-theme-color);border-radius:50%;font-size:13px;font-weight:700;line-height:1;color:var(--qapl-theme-color)}.qapl-tooltip .qapl-tooltip-content{position:absolute;bottom:25px;left:0;width:340px;max-width:340px;background-color:var(--qapl-bg);color:var(--qapl-text-muted);padding:8px 10px;border:1px solid var(--qapl-border);border-radius:4px;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.1);box-shadow:0 2px 6px rgba(0,0,0,.1);z-index:10;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.qapl-tooltip .qapl-tooltip-content-inner{display:block;white-space:normal}.qapl-tooltip:focus .qapl-tooltip-content,.qapl-tooltip:hover .qapl-tooltip-content{opacity:1;visibility:visible}.quick-ajax-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;overflow:hidden}.quick-ajax-tabs:before{content:'';position:absolute;width:100%;bottom:0;height:1px;background-color:var(--qapl-border)}.quick-ajax-tab-button{position:relative;padding:5px 10px;cursor:pointer;z-index:0;background:var(--qapl-tab-bg);border:1px solid var(--qapl-border);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:0;margin:0 5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:background-color .15s ease,border-color .15s ease;transition:background-color .15s ease,border-color .15s ease}.quick-ajax-tab-button:first-of-type{margin-left:0}.quick-ajax-tab-button:hover{background:var(--qapl-bg-mute)}.quick-ajax-tab-button.active{background:var(--qapl-bg);z-index:1;border-bottom:1px solid var(--qapl-bg)}.quick-ajax-tab-content,.quick-ajax-tab-content[hidden]{position:relative;background:var(--qapl-bg);padding:16px;border:1px solid var(--qapl-border);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);display:none}.quick-ajax-tab-content.active{display:block}.quick-ajax-tab-content+.quick-ajax-tab-content,.quick-ajax-tabs+.quick-ajax-tab-content{border-top:none}.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:start;-webkit-column-gap:100px;-moz-column-gap:100px;column-gap:100px}.function-generator-options{max-width:580px}.function-generator-options .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{min-width:50%}.function-generator-result{width:auto;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:480px}.function-generator-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;margin-bottom:20px}.function-generator-result>pre{overflow:auto}@media (max-width:1200px){.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.function-generator-options,function-generator-result{width:100%;max-width:unset}}.quick-ajax-form-wrap code.no-background{background:0 0;padding:3px 0 2px;font-size:14px}.quick-ajax-form-wrap code.code-tag{padding:2px 4px 3px;margin:0 1px;background:rgba(0,0,0,.07)}.quick-ajax-form-wrap pre{white-space:pre-wrap;word-wrap:break-word}.quick-ajax-form-wrap ul.ul-numbered{list-style-type:decimal;padding-left:13px}.quick-ajax-form-wrap li ul{margin-top:6px}.quick-ajax-accordion-wrapper{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;overflow:hidden;margin-bottom:16px}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 1.5em;min-height:44px;background:var(--qapl-bg);border:1px solid var(--qapl-border);cursor:pointer;outline:unset}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:hover{background:var(--qapl-bg-muted)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-width:2px;outline-style:solid;outline-offset:-2px;outline-color:var(--qapl-theme-color);background-color:var(--qapl-bg-muted);z-index:1}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active{background:var(--qapl-bg)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active:hover{background:var(--qapl-bg-muted)}.quick-ajax-accordion-wrapper .accordion-title{max-width:calc(100% - 26px);font-size:13px;font-weight:600;line-height:1;margin:0}.quick-ajax-accordion-wrapper .accordion-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active .accordion-icon{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.quick-ajax-accordion-wrapper .accordion-icon span{pointer-events:none;position:absolute;border:solid #50575e;border-width:0 2px 2px 0;height:.5rem;width:.5rem;top:50%;right:0;-webkit-transform:translateY(-70%) rotate(45deg);-ms-transform:translateY(-70%) rotate(45deg);transform:translateY(-70%) rotate(45deg)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-content{display:none;border:1px solid var(--qapl-border);border-top:none;padding:0 1.5em 1em 1.5em}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active+.quick-ajax-accordion-content:before{content:"";position:absolute;display:block;background:var(--qapl-bg);height:1px;left:1px;right:1px;margin-top:-1px}.qapl-admin-page-loader{position:relative;height:20px;width:40px;padding:6px 0;margin-left:0;vertical-align:middle}.qapl-admin-page-loader span{position:absolute;top:50%;left:0;width:6px;height:6px;background-color:#50575e;border-radius:50%;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0;-webkit-animation:qapl-admin-loader-animation 1.8s linear infinite;animation:qapl-admin-loader-animation 1.8s linear infinite}.qapl-admin-page-loader span:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.qapl-admin-page-loader span:nth-child(2){-webkit-animation-delay:.6s;animation-delay:.6s}.qapl-admin-page-loader span:nth-child(3){-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}@keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}
  • quick-ajax-post-loader/trunk/includes/admin/cpt/class-cpt-editor-form.php

    r3438871 r3448095  
    88    protected $meta_key;
    99    protected $post_type;
     10    private $is_initialized = false;
    1011
    1112    public function __construct($form_id, $meta_key, $post_type) {
     
    1516
    1617        if($this->post_type){
    17             // add_action('wp_loaded', array($this, 'init_post_fields'), 10);
    18             //register all fields
    19             $this->init_post_fields();
    2018            //editor hooks
    21             add_action('edit_form_after_title', array($this, 'add_quick_ajax_form'));
     19            add_action('edit_form_after_title', array($this, 'add_quick_ajax_form'));           
    2220            add_action('save_post_'.$this->post_type, array($this, 'save_quick_ajax_form'));
    2321        }
    2422    }
     23    protected function ensure_fields_initialized() {
     24        // lazy init to avoid rebuilding fields
     25        if ($this->is_initialized || !empty($this->fields)) {
     26            return;
     27        }
     28        $this->init_post_fields();
     29        $this->is_initialized = true;
     30    }
    2531    abstract public function init_post_fields();
    2632    abstract public function render_form();
    27    
    28     private function unserialize_data($post_id) {
    29         $serialized_data = get_post_meta($post_id, $this->meta_key, true);
    30         if ($serialized_data) {
    31             $form_data = maybe_unserialize($serialized_data);           
    32             if (is_array($form_data)) { // Check if the data was successfully unserialized
    33                 foreach ($form_data as $field_name => $field_value) {
    34                     $this->existing_values[$field_name] = array(
    35                         'name' => $field_name,
    36                         'value' => $field_value
    37                     );
    38                 }
    39             }
    40         }else {
    41             // Log the error if unserialization fails
    42             if (defined('WP_DEBUG') && WP_DEBUG) {
    43                 //error_log('Quick Ajax Post Loader - Failed to unserialize data for post ID: ' . $post_id);
     33
     34    private function load_existing_values($post_id) {
     35        $form_data = get_post_meta($post_id, $this->meta_key, true);
     36        // handle legacy serialized data
     37        if (is_string($form_data)) {
     38            $form_data = maybe_unserialize($form_data);
     39            if (is_array($form_data)) {
     40                update_post_meta($post_id, $this->meta_key, $form_data);
    4441            }
    4542        }
    46     }   
     43        if (!is_array($form_data)) {
     44            return;
     45        }
     46        foreach ($form_data as $field_name => $field_value) {
     47            $this->existing_values[$field_name] = [
     48                'name'  => $field_name,
     49                'value' => $field_value,
     50            ];
     51        }
     52    }
    4753   
    4854    public function add_quick_ajax_form($post){
    49         if ($post->post_type === $this->post_type) {
    50             $this->unserialize_data($post->ID);
    51             echo '<div class="quick-ajax-form-wrap '.esc_attr($this->get_quick_ajax_form_class()).'" id="' . esc_attr($this->form_id) . '">';
    52             // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output already escaped
    53             echo $this->render_form();
    54             wp_nonce_field(QAPL_Constants::NONCE_FORM_QUICK_AJAX_ACTION, QAPL_Constants::NONCE_FORM_QUICK_AJAX_FIELD);
    55             echo '</div>';
     55        if ($post->post_type !== $this->post_type) {
     56            return;
    5657        }
     58        $this->ensure_fields_initialized();
     59        $this->load_existing_values($post->ID);
     60        echo '<div class="quick-ajax-form-wrap '.esc_attr($this->get_quick_ajax_form_class()).'" id="' . esc_attr($this->form_id) . '">';
     61        // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output already escaped
     62        echo $this->render_form();
     63        wp_nonce_field(QAPL_Constants::NONCE_FORM_QUICK_AJAX_ACTION, QAPL_Constants::NONCE_FORM_QUICK_AJAX_FIELD);
     64        echo '</div>';
     65     
    5766    }   
    5867   
    5968    public function save_quick_ajax_form($post_id) {
     69        if (get_post_type($post_id) !== $this->post_type) {
     70            return;
     71        }
     72        // skip autosave requests
    6073        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
    6174            return;
    6275        }
     76        // skip post revisions
     77        if (wp_is_post_revision($post_id)) {
     78            return;
     79        }
     80        //verify nonce to prevent unauthorized save
    6381        if (!isset($_POST[QAPL_Constants::NONCE_FORM_QUICK_AJAX_FIELD]) || !wp_verify_nonce(sanitize_text_field(wp_unslash($_POST[QAPL_Constants::NONCE_FORM_QUICK_AJAX_FIELD])), QAPL_Constants::NONCE_FORM_QUICK_AJAX_ACTION)) {
    6482            return;
     
    6684        if (!current_user_can('edit_post', $post_id)) {
    6785            return;
    68         }       
     86        }
     87        //ensure field definitions exist for validation
     88        $this->ensure_fields_initialized();
     89        if (empty($this->fields)) {
     90            return;
     91        }
    6992        $form_data = array();
    7093        foreach ($this->fields as $field) {
     
    81104            }
    82105        }
    83         //error_log(print_r($_POST, true));
    84         //error_log(print_r($form_data, true));
    85         $serialized_data = serialize($form_data);
    86         update_post_meta($post_id, $this->meta_key, $serialized_data);
     106        update_post_meta($post_id, $this->meta_key, $form_data);
    87107    }
    88108}
  • quick-ajax-post-loader/trunk/includes/admin/cpt/creator/class-creator-columns.php

    r3409927 r3448095  
    3131            }
    3232        }
    33         return array_merge($new, $columns);
     33        return $new;
    3434    }
    3535    public static function render_shortcode_column($column, $post_id) {
     
    4040    }
    4141    public static function make_shortcode_column_sortable($columns) {
    42         $columns['qapl_shortcode'] = 'qapl_shortcode';
     42        $columns['qapl_shortcode'] = 'ID';
    4343        return $columns;
    4444    }
  • quick-ajax-post-loader/trunk/includes/admin/cpt/creator/class-creator-editor.php

    r3409927 r3448095  
    1010    }
    1111
    12     public static function maybe_init_form() {
    13         $post_id = filter_input(INPUT_GET, 'post', FILTER_SANITIZE_NUMBER_INT);
    14         $post_type = get_post_type($post_id);
    15 
    16         if (empty($post_type)) {
    17             $post_type = filter_input(INPUT_GET, 'post_type', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
    18             if (empty($post_type)) {
    19                 $post_type = filter_input(INPUT_POST, 'post_type', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
    20             }
     12    public static function maybe_init_form() {       
     13        $screen = get_current_screen();
     14        if (!$screen || $screen->post_type !== QAPL_Constants::CPT_SHORTCODE_SLUG) {
     15            return;
    2116        }
    22 
    23         if ($post_type === QAPL_Constants::CPT_SHORTCODE_SLUG) {
    24             new QAPL_CPT_Creator_Form(QAPL_Constants::SETTINGS_WRAPPER_ID, QAPL_Constants::DB_POSTMETA_SHORTCODE_SETTINGS, $post_type);
    25         }
     17        new QAPL_CPT_Creator_Form(QAPL_Constants::SETTINGS_WRAPPER_ID, QAPL_Constants::DB_POSTMETA_SHORTCODE_SETTINGS, $screen->post_type
     18    );
    2619    }
    2720}
  • quick-ajax-post-loader/trunk/includes/admin/cpt/creator/class-creator-form.php

    r3409927 r3448095  
    8787    public function render_form() {
    8888        $shortcode_page = '<div class="quick-ajax-layout-settings">';
     89
     90        // general query settings
     91        // ==============================
    8992        $shortcode_page .= '<h4>'.esc_html__('General Settings', 'quick-ajax-post-loader').'</h4>';
     93
    9094        //select post type
    9195        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SELECT_POST_TYPE);
     96
    9297        //show taxonomy checkbox
    9398        $field_options = $this->field_options([
     
    95100        ]);   
    96101        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SHOW_TAXONOMY_FILTER, $field_options);
     102
    97103        //select taxonomy
    98104        $this->fields[QAPL_Constants::QUERY_SETTING_SELECT_TAXONOMY]['options'] = $this->get_taxonomy_options_for_post_type();           
     
    129135        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SELECT_POSTS_PER_PAGE);
    130136        $shortcode_page .= '</div>';
     137
     138        // sorting settings
     139        // ==============================
     140
    131141        $shortcode_page .= '<div class="quick-ajax-layout-settings" style="margin-top:20px">';
    132142        $shortcode_page .= '<h4>'.esc_html__('Sorting Settings', 'quick-ajax-post-loader').'</h4>';
     143
     144        // orderby field
    133145        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SELECT_ORDERBY);
     146
     147        // order direction
    134148        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SELECT_ORDER);
     149
     150        // toggle sort button
    135151        $field_options = $this->field_options([
    136152            'is_trigger' => true,
    137153        ]); 
    138154        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SHOW_SORT_BUTTON, $field_options);
     155
     156        // sort button options
    139157        $field_options = $this->field_options([
    140158            'visible_if' => [
     
    143161        ]);
    144162        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SELECT_SORT_BUTTON_OPTIONS, $field_options);
     163
     164        // inline filter and sorting
    145165        $field_options = $this->field_options([
    146166            'visible_if' => [
     
    150170        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SHOW_INLINE_FILTER_SORTING, $field_options);
    151171        $shortcode_page .= '</div>';
     172
     173        // advanced query settings
     174        // ==============================
     175
    152176        $shortcode_page .= '<div class="quick-ajax-layout-settings" style="margin-top:20px">';
    153177        $shortcode_page .= '<h4>'.esc_html__('Additional Settings', 'quick-ajax-post-loader').'</h4>';
     178
     179        // exclude specific post ids
    154180        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SET_POST_NOT_IN);
     181
     182        // ignore sticky posts
    155183        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_IGNORE_STICKY_POSTS);
     184
     185         // ajax on initial load
    156186        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_AJAX_ON_INITIAL_LOAD);
     187
     188        // infinite scroll
    157189        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_AJAX_INFINITE_SCROLL);
     190
     191        // show end message
    158192        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SHOW_END_MESSAGE);
    159193        $shortcode_page .= '</div>';
    160194
    161         //layout Settings
     195        // layout and ui settings
     196        // ==============================
    162197        $shortcode_page .= '<div class="quick-ajax-layout-settings" style="margin-top:20px">';
    163198        $shortcode_page .= '<h4>'.esc_html__('layout Settings', 'quick-ajax-post-loader').'</h4>';
     199
     200        // enable quick ajax css style
    164201        $field_options = $this->field_options([
    165202            'is_trigger' => true,
    166203        ]);
    167204        $shortcode_page .= $this->add_field(QAPL_Constants::LAYOUT_SETTING_QUICK_AJAX_CSS_STYLE, $field_options);
     205
     206        // select columns quantity
    168207        $field_options = $this->field_options([
    169208            'visible_if' => [
     
    172211        ]);
    173212        $shortcode_page .= $this->add_field(QAPL_Constants::LAYOUT_SETTING_SELECT_COLUMNS_QTY, $field_options);
     213
     214        // post item template
    174215        $shortcode_page .= $this->add_field(QAPL_Constants::LAYOUT_SETTING_POST_ITEM_TEMPLATE);
     216
     217        // taxonomy filter custom class
    175218        $field_options = $this->field_options([
    176219            'is_trigger' => false,
     
    180223        ]);
    181224        $shortcode_page .= $this->add_field(QAPL_Constants::LAYOUT_SETTING_TAXONOMY_FILTER_CLASS, $field_options);
     225
     226        // container custom class
    182227        $shortcode_page .= $this->add_field(QAPL_Constants::LAYOUT_SETTING_CONTAINER_CLASS);
     228
     229        // toggle custom load more quantity
    183230        $field_options = $this->field_options([
    184231            'is_trigger' => true,
    185232        ]);
    186233        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SHOW_CUSTOM_LOAD_MORE_POST_QUANTITY, $field_options);
     234
     235        // select custom load more quantity
    187236        $field_options = $this->field_options([
    188237            'is_trigger' => false,
     
    192241        ]);
    193242        $shortcode_page .= $this->add_field(QAPL_Constants::QUERY_SETTING_SELECT_CUSTOM_LOAD_MORE_POST_QUANTITY, $field_options);
     243
     244        // override global loader icon
    194245        $field_options = $this->field_options([
    195246            'is_trigger' => true,
    196247        ]);
    197248        $shortcode_page .= $this->add_field(QAPL_Constants::LAYOUT_SETTING_OVERRIDE_GLOBAL_LOADER_ICON, $field_options);
     249
     250        // select loader icon
    198251        $field_options = $this->field_options([
    199252            'is_trigger' => false,
  • quick-ajax-post-loader/trunk/includes/admin/cpt/creator/class-creator-shortcode-box.php

    r3409927 r3448095  
    99    }
    1010    public static function render($post) {
    11         //check the post type
    12         if ($post && $post->post_type === QAPL_Constants::CPT_SHORTCODE_SLUG) {
    13             $shortcode = QAPL_Shortcode_Generator::generate_shortcode($post->ID);
    14             echo '<div id="shortcode-box-wrap">';
    15             echo '<span class="shortcode-description">' . esc_html__('Copy and paste this shortcode on the page to display the posts list', 'quick-ajax-post-loader') . '</span>';
    16             echo '<div class="click-and-select-all">';
    17             echo '<pre><code>' . esc_html($shortcode) . '</code></pre>';
    18             echo '</div>';
    19             echo '</div>';
    20         }
     11    if ($post && $post->post_type === QAPL_Constants::CPT_SHORTCODE_SLUG) {
     12        $shortcode = QAPL_Shortcode_Generator::generate_shortcode($post->ID);
     13        ?>
     14        <div id="shortcode-box-wrap">
     15            <p class="shortcode-description"><?php esc_html_e('Copy and paste this shortcode on the page to display the posts list', 'quick-ajax-post-loader'); ?></p>
     16            <div class="qapl-shortcode-display">
     17                <input type="text" id="qapl-shortcode-input" class="click-and-select" value="<?php echo esc_attr($shortcode); ?>" readonly />
     18                <button type="button" class="copy-button-input button button-primary button-large"
     19                    data-copy="qapl-shortcode-input"
     20                    data-label-copied="<?php esc_html_e('Copied', 'quick-ajax-post-loader'); ?>">
     21                    <?php esc_html_e('Copy', 'quick-ajax-post-loader'); ?>
     22                </button>
     23            </div>
     24        </div>
     25        <?php
    2126    }
    2227}
     28}
    2329QAPL_Creator_Shortcode_Box::init();
  • quick-ajax-post-loader/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php

    r3409927 r3448095  
    215215            $form_tab_function_generator .= '<div class="function-generator-result">'; 
    216216            $form_tab_function_generator .= '<div class="function-generator-buttons">
    217                             <button class="generate-function-button button button-primary" data-output="code-snippet-2" type="button">'.__('Generate Function', 'quick-ajax-post-loader').'</button>
    218                             <button class="copy-button button button-primary" data-copy="code-snippet-2" type="button">'.__('Copy Code', 'quick-ajax-post-loader').'</button>
     217                            <button type="button" class="generate-function-button button button-primary" data-output="code-snippet-2">'.__('Generate Function', 'quick-ajax-post-loader').'</button>
     218                            <button type="button" class="copy-button-text button button-primary" data-copy="code-snippet-2" data-label-copied="'.__('Copied', 'quick-ajax-post-loader').'">'.__('Copy Code', 'quick-ajax-post-loader').'</button>
    219219                        </div>'; 
    220             $form_tab_function_generator .= '<pre id="code-snippet-2" style="margin-top:20px"></pre>';
     220            $form_tab_function_generator .= '<pre id="code-snippet-2"></pre>';
    221221            $form_tab_function_generator .= '</div>';
    222222            $form_tab_function_generator .= '</div>';
  • quick-ajax-post-loader/trunk/includes/resources/class-constants.php

    r3438871 r3448095  
    66class QAPL_Constants{
    77    // Plugin info
    8     public const PLUGIN_VERSION = '1.8.7';
     8    public const PLUGIN_VERSION = '1.8.8';
    99    public const PLUGIN_NAME = 'Quick Ajax Post Loader';
    1010    public const PLUGIN_TEXT_DOMAIN = 'quick-ajax-post-loader';
  • quick-ajax-post-loader/trunk/js/admin-script.js

    r3438871 r3448095  
    55        init: function () {
    66            this.click_and_select_shortcode();
    7             this.click_and_select_all();
     7            //this.click_and_select_all();
     8            this.click_and_select();
    89            this.handle_post_type_change();
    910            this.handle_taxonomy_change();
     
    1112            this.quick_ajax_tabs();
    1213            this.copy_code();
     14            this.copy_input();
    1315            this.quick_ajax_function_generator();
    1416            this.accordion_block_toggle();
     
    177179            }
    178180        },
    179 
    180181        copy_code: function () {
    181             $(".copy-button").on("click", function () {
    182                 var codeToCopy = $("#" + $(this).data("copy"));
    183                 // Create a temporary textarea
    184                 var tempTextarea = $("<textarea>").val(codeToCopy.text()).appendTo("body").select();
    185                 try {
    186                     // Use the new clipboard API to copy the selected text
    187                     navigator.clipboard
    188                         .writeText(codeToCopy.text())
    189                         .then(() => {
    190                             //console.log('Text copied to clipboard');
    191                         })
    192                         .catch((error) => {
    193                             console.error("Quick Ajax - Unable to copy text to clipboard", error);
    194                         });
    195                 } finally {
    196                     // Clean up: remove the temporary textarea
    197                     tempTextarea.remove();
    198                     // Feedback to the user
    199                     $(this).text("Code Copied");
    200                     setTimeout(() => {
    201                         $(this).text("Copy Code");
    202                     }, 2000);
    203                 }
    204             });
     182            const self = this;
     183            $(".copy-button-text").on("click", function () {
     184                var button = $(this);
     185                var code = $("#" + button.data("copy"));
     186                if (!code.length) {
     187                    return;
     188                }
     189
     190                self.copy_to_clipboard(code.text(), button, button.data("label-copied"), button.text());
     191            });
     192        },
     193        copy_input: function () {
     194            const self = this;
     195            $(".copy-button-input").on("click", function () {
     196                var button = $(this);
     197                var input = document.getElementById(button.data("copy"));
     198                if (!input) {
     199                    return;
     200                }
     201                self.copy_to_clipboard(input.value, button, button.data("label-copied"), button.text());
     202            });
     203        },
     204        copy_to_clipboard: function (text, button, copiedLabel, originalLabel, delay) {
     205            var resetDelay = delay || 1000;
     206            var errorMessage = "Quick Ajax Post Loader - Unable to copy to clipboard";
     207
     208            var handleSuccess = function () {
     209                button.text(copiedLabel);
     210                setTimeout(function () {
     211                    button.text(originalLabel);
     212                }, resetDelay);
     213            };
     214
     215            if (navigator.clipboard && navigator.clipboard.writeText) {
     216                navigator.clipboard
     217                    .writeText(text)
     218                    .then(handleSuccess)
     219                    .catch(function () {
     220                        console.error(errorMessage);
     221                    });
     222                return;
     223            }
     224
     225            var textarea = document.createElement("textarea");
     226            textarea.value = text;
     227            textarea.style.position = "fixed";
     228            textarea.style.left = "-9999px";
     229            document.body.appendChild(textarea);
     230            textarea.select();
     231
     232            try {
     233                document.execCommand("copy");
     234                handleSuccess();
     235            } catch (e) {
     236                console.error(errorMessage);
     237            }
     238
     239            document.body.removeChild(textarea);
    205240        },
    206241        generateId: function (inputDataString) {
     
    477512                const outputDiv = button.attr("data-output");
    478513                const targetDiv = $("#" + outputDiv);
    479                 const copyButton = $('.copy-button[data-copy="' + outputDiv + '"]');
     514                const copyButton = $('.copy-button-text[data-copy="' + outputDiv + '"]');
    480515
    481516                button.prop("disabled", true);
     
    546581            });
    547582        },
     583        click_and_select: function (element) {
     584            $(".click-and-select").on("click", function () {
     585                this.select();
     586            });
     587        },
    548588        accordion_block_toggle: function () {
    549589            // Adjusts min-height of #wpbody-content to fix sticky sidebar issue.
  • quick-ajax-post-loader/trunk/js/admin-script.min.js

    r3438871 r3448095  
    1 !function(a){var t={data_available:"undefined"!=typeof qapl_quick_ajax_admin_data&&qapl_quick_ajax_admin_data,init:function(){this.click_and_select_shortcode(),this.click_and_select_all(),this.handle_post_type_change(),this.handle_taxonomy_change(),this.show_hide_element_on_change(),this.quick_ajax_tabs(),this.copy_code(),this.quick_ajax_function_generator(),this.accordion_block_toggle()},handle_post_type_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_post_type);n.length&&n.on("change",(function(){const n=a(this).val();a.ajax({url:qapl_quick_ajax_admin_data.ajax_url,type:"POST",data:{action:"qapl_action_get_taxonomies_by_post_type",post_type:n,nonce:qapl_quick_ajax_admin_data.nonce},success:function(n){if(n&&n.data){const e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy);e.empty(),e.append(n.data),t.trigger_taxonomy_change()}},error:function(a,t,n){}})}))},handle_taxonomy_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy),e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms);n.length&&n.on("change",(function(){e.empty(),t.admin_page_loader(e);let n=a(this).val(),_="";a("#post_ID").length&&(_=a("#post_ID").val()),a.ajax({url:qapl_quick_ajax_admin_data.ajax_url,type:"POST",data:{action:"qapl_action_get_terms_by_taxonomy",taxonomy:n,post_id:_,nonce:qapl_quick_ajax_admin_data.nonce},success:function(a){a&&a.data&&e.fadeOut(100,(function(){e.empty(),e.append(a.data),e.fadeIn(100)}))},error:function(a,t,n){}})}))},trigger_taxonomy_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy),e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms);e.length&&(t.admin_page_loader(e),n.trigger("change"))},admin_page_loader:function(a){a.append('<div class="qapl-admin-page-loader"><span></span><span></span><span></span></div>')},show_hide_element_on_change:function(){a(".show-hide-trigger input, .show-hide-trigger select").on("change",(function(){a(".quick-ajax-field-container[data-conditional]").each((function(){const t=a(this),n=t.data("conditional");let e=!0;for(const t in n){if(!n.hasOwnProperty(t))continue;const _=n[t],o=a("#"+t);if((o.is(":checkbox")?o.is(":checked")?"1":"0":o.val())!==_){e=!1;break}}e?t.removeClass("inactive"):t.addClass("inactive")}))}))},quick_ajax_tabs:function(){if(a(".quick-ajax-tabs").length){const t=a(".quick-ajax-tab-button"),n=a(".quick-ajax-tab-content");t.on("click",(function(e){e.preventDefault();const _=a(this).data("tab"),o=Number(_.split("-").pop()),i=new URL(window.location.href);i.searchParams.set("tab",o),history.replaceState(null,"",i.toString()),t.removeClass("active").attr("aria-selected","false").attr("tabindex","-1"),n.removeClass("active").attr("hidden",!0),a(this).addClass("active").attr("aria-selected","true").attr("tabindex","0"),a("#"+_).addClass("active").attr("hidden",!1)})),t.on("keydown",(function(a){const n=t.index(this);let e;if("ArrowRight"===a.key)e=(n+1)%t.length;else{if("ArrowLeft"!==a.key)return;e=(n-1+t.length)%t.length}t.eq(e).focus().click()}));const e=new URLSearchParams(window.location.search),_=parseInt(e.get("tab"),10);if(!isNaN(_)){const t=a('.quick-ajax-tab-button[data-tab="'+("quick-ajax-tab-"+_)+'"]');t.length&&t.trigger("click")}}},copy_code:function(){a(".copy-button").on("click",(function(){var t=a("#"+a(this).data("copy")),n=a("<textarea>").val(t.text()).appendTo("body").select();try{navigator.clipboard.writeText(t.text()).then((()=>{})).catch((a=>{}))}finally{n.remove(),a(this).text("Code Copied"),setTimeout((()=>{a(this).text("Copy Code")}),2e3)}}))},generateId:function(a){let t=0;for(let n=0;n<a.length;n++)t+=a.charCodeAt(n),n%2==0?t+=a.charCodeAt(n):t-=a.charCodeAt(n);return t},getExcludedPostIds:function(a){var t=a.split(/[,\s]+/),n=[];return t.forEach((function(a){/^\d+$/.test(a)&&-1===n.indexOf(a)&&n.push(a)})),n.join(", ")},cleanClassNames:function(a){let t=a.replace(/,/g," ").split(/\s+/);return t=t.filter(((a,t,n)=>!/^\d/.test(a)&&""!==a&&n.indexOf(a)===t)),t.join(", ")},qapl_collect_input_data:function(){const t={};return a(".function-generator-wrap input, .function-generator-wrap select").each((function(n,e){const _=a(e),o=_.attr("name"),i=_.attr("id");if("checkbox"===e.type)if(o&&o.endsWith("[]")){let a=o.replace(/\[\]$/,"");t[a]||(t[a]=[]),_.prop("checked")&&t[a].push(_.val())}else t[i]=_.prop("checked")?1:0;else t[i]=_.val()})),t},qapl_generate_args:function(a){const t=this;let n="",e="",_="";(n+="$quick_ajax_args = [\n",n+="    'post_type' => '"+a.qapl_select_post_type+"',\n",n+="    'posts_per_page' => "+a.qapl_select_posts_per_page+",\n","none"!==a.qapl_select_orderby&&(n+="    'orderby' => '"+a.qapl_select_orderby+"',\n"),n+="    'order' => '"+a.qapl_select_order+"',\n",""!==a.qapl_select_post_not_in)&&(n+="    'post__not_in' => ["+t.getExcludedPostIds(a.qapl_select_post_not_in)+"],\n");if(1===a.qapl_ignore_sticky_posts&&(n+="    'ignore_sticky_posts' => "+a.qapl_ignore_sticky_posts+",\n"),1===a.qapl_show_select_taxonomy&&(n+="    'selected_taxonomy' => '"+a.qapl_select_taxonomy+"',\n"),1===a.qapl_show_select_taxonomy&&1===a.qapl_manual_term_selection){var o=a.qapl_manual_selected_terms;o&&o.length>0&&(e="[",e+=o.map((a=>`${a}`)).join(", "),e+="]"),e&&(n+="    'selected_terms' => "+e+",\n")}let i=n.trimEnd();return i.endsWith(",")&&(n=i.slice(0,-1)+"\n"),n+="];",""!==n.trim()&&(_+="\n// Define AJAX query parameters for '"+a.qapl_select_post_type+"' type posts.\n",_+=n.trim()+"\n"),_},qapl_generate_attributes:function(a,t){const n=this;let e={},_="";e[qapl_quick_ajax_admin_data.constants.quick_ajax_id]=t,1===a.qapl_layout_quick_ajax_css_style&&(e[qapl_quick_ajax_admin_data.constants.quick_ajax_css_style]=a.qapl_layout_quick_ajax_css_style,e[qapl_quick_ajax_admin_data.constants.grid_num_columns]=a.qapl_layout_select_columns_qty),a.qapl_layout_quick_ajax_post_item_template&&(e[qapl_quick_ajax_admin_data.constants.post_item_template]=a.qapl_layout_quick_ajax_post_item_template),a.qapl_layout_add_taxonomy_filter_class&&""!==a.qapl_layout_add_taxonomy_filter_class&&(e[qapl_quick_ajax_admin_data.constants.taxonomy_filter_class]=n.cleanClassNames(a.qapl_layout_add_taxonomy_filter_class)),a.qapl_layout_add_container_class&&""!==a.qapl_layout_add_container_class&&(e[qapl_quick_ajax_admin_data.constants.container_class]=n.cleanClassNames(a.qapl_layout_add_container_class)),1===a.qapl_show_custom_load_more_post_quantity&&(e[qapl_quick_ajax_admin_data.constants.load_more_posts]=a.qapl_select_custom_load_more_post_quantity),1===a.qapl_override_global_loader_icon&&(e[qapl_quick_ajax_admin_data.constants.loader_icon]=a.qapl_loader_icon),1===a.qapl_ajax_on_initial_load&&(e[qapl_quick_ajax_admin_data.constants.ajax_initial_load]=a.qapl_ajax_on_initial_load),1===a.qapl_ajax_infinite_scroll&&(e[qapl_quick_ajax_admin_data.constants.infinite_scroll]=a.qapl_ajax_infinite_scroll),1===a.qapl_show_end_post_message&&(e[qapl_quick_ajax_admin_data.constants.show_end_message]=a.qapl_show_end_post_message);var o="";return Object.keys(e).length>0&&(o="",o+="$quick_ajax_attributes = [\n",Object.entries(e).forEach((([a,t])=>{let e;e=n.quick_ajax_is_numeric(t)?parseInt(t):"string"==typeof t?`'${t}'`:t,o+=`    '${a}' => ${e},\n`})),o=o.slice(0,-2)+"\n",o+="];"),""!==o.trim()&&(_+="\n// Define attributes for AJAX.\n",_+=o.trim()+"\n"),_},qapl_generate_sort_controls:function(a){let t=null,n=null;1===a.qapl_show_order_button&&(t=a.qapl_select_orderby_button_options,t&&t.length>0&&(n="$quick_ajax_sort_options = [",n+=t.map((a=>`'${a}'`)).join(", "),n+="];"));var e="",_="";null!==t&&n&&(e="",e+=n,_="",_+="if(function_exists('qapl_render_sort_controls')){\n",_+="    qapl_render_sort_controls(\n",_+="        $quick_ajax_args,\n",_+="        $quick_ajax_attributes,\n",_+="        $quick_ajax_sort_options\n",_+="    );\n",_+="}");let o="";return"string"==typeof e&&""!==e.trim()&&(o+="\n// Set the sort options for the button.\n",o+=e.trim()+"\n"),"string"==typeof _&&""!==_.trim()&&(o+="\n// Render the sorting control button.\n",o+=_.trim()+"\n"),o},qapl_generate_taxonomy_filter:function(a){let t=null,n="",e="";return 1===a.qapl_show_select_taxonomy&&(t=a.qapl_select_taxonomy),null!==t&&(e+="if(function_exists('qapl_render_taxonomy_filter')){\n",e+="    qapl_render_taxonomy_filter(\n",e+="        $quick_ajax_args,\n",e+="        $quick_ajax_attributes,\n",e=e.slice(0,-2)+"\n",e+="    );\n",e+="}"),""!==e.trim()&&(n+="\n// Render the navigation for '"+a.qapl_select_taxonomy+"' taxonomy.\n",n+=e.trim()+"\n"),n},qapl_generate_post_container:function(a,t){let n="",e="";return e+="if(function_exists('qapl_render_post_container')){\n",e+="   qapl_render_post_container(\n",e+="       $quick_ajax_args,\n",""!==t&&(e+="       $quick_ajax_attributes,\n"),e=e.slice(0,-2)+"\n",e+="   );\n",e+="}",""!==e.trim()&&(n+="\n// Render the grid for '"+a.qapl_select_post_type+"' type posts.\n",n+=e.trim()+"\n"),n},quick_ajax_function_generator:function(){const t=this;this.data_available&&a(".generate-function-button").on("click",(function(){const n=a(this),e=n.attr("data-output"),_=a("#"+e),o=a('.copy-button[data-copy="'+e+'"]');n.prop("disabled",!0),o.prop("disabled",!0);const i=t.qapl_collect_input_data(),c=Object.values(i).join(""),s=t.generateId(c),l=t.qapl_generate_args(i),r=t.qapl_generate_attributes(i,s),d=[l,r,t.qapl_generate_sort_controls(i),t.qapl_generate_taxonomy_filter(i),t.qapl_generate_post_container(i,r)].filter(Boolean).join("");_.empty();for(var p=d.split("\n"),u=0;u<p.length;u++)!function(a){setTimeout((function(){_.append(p[a]+"\n"),a===p.length-1&&(n.prop("disabled",!1),o.prop("disabled",!1))}),50*u)}(u)}))},quick_ajax_is_numeric:function(a){return/^-?\d+(\.\d+)?$/.test(a)},quick_ajax_color_picker:function(){a(".color-picker-field").wpColorPicker()},quick_ajax_select_text:function(a){var t,n;document.body.createTextRange?((t=document.body.createTextRange()).moveToElementText(a),t.select()):window.getSelection&&(n=window.getSelection(),(t=document.createRange()).selectNodeContents(a),n.removeAllRanges(),n.addRange(t))},click_and_select_shortcode:function(){const t=this;a(".quick-ajax-shortcode").on("click",(function(){t.quick_ajax_select_text(this)}))},click_and_select_all:function(){const t=this;a(".click-and-select-all").on("click",(function(){var n=a(this).find("code").get(0);t.quick_ajax_select_text(n)}))},accordion_block_toggle:function(){var t=a("#wpbody-content");if(t.find(".quick-ajax-tabs").length>0){var n=a("#adminmenuwrap").outerHeight();t.css("min-height",n)}a(".quick-ajax-accordion-toggle").click((function(){a(this).toggleClass("active").next(".quick-ajax-accordion-content").slideToggle(200)}));var e=window.location.hash;if(e){var _=a(e);if(_.length){var o=_.find(".quick-ajax-accordion-toggle").first(),i=o.next(".quick-ajax-accordion-content");o.addClass("active"),i.show();var c=_.offset().top-110;c<0&&(c=0),a("html, body").scrollTop(c)}}}};a(document).ready((function(){t.init()}))}(jQuery);
     1!function(a){var t={data_available:"undefined"!=typeof qapl_quick_ajax_admin_data&&qapl_quick_ajax_admin_data,init:function(){this.click_and_select_shortcode(),this.click_and_select(),this.handle_post_type_change(),this.handle_taxonomy_change(),this.show_hide_element_on_change(),this.quick_ajax_tabs(),this.copy_code(),this.copy_input(),this.quick_ajax_function_generator(),this.accordion_block_toggle()},handle_post_type_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_post_type);n.length&&n.on("change",(function(){const n=a(this).val();a.ajax({url:qapl_quick_ajax_admin_data.ajax_url,type:"POST",data:{action:"qapl_action_get_taxonomies_by_post_type",post_type:n,nonce:qapl_quick_ajax_admin_data.nonce},success:function(n){if(n&&n.data){const e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy);e.empty(),e.append(n.data),t.trigger_taxonomy_change()}},error:function(a,t,n){}})}))},handle_taxonomy_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy),e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms);n.length&&n.on("change",(function(){e.empty(),t.admin_page_loader(e);let n=a(this).val(),_="";a("#post_ID").length&&(_=a("#post_ID").val()),a.ajax({url:qapl_quick_ajax_admin_data.ajax_url,type:"POST",data:{action:"qapl_action_get_terms_by_taxonomy",taxonomy:n,post_id:_,nonce:qapl_quick_ajax_admin_data.nonce},success:function(a){a&&a.data&&e.fadeOut(100,(function(){e.empty(),e.append(a.data),e.fadeIn(100)}))},error:function(a,t,n){}})}))},trigger_taxonomy_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy),e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms);e.length&&(t.admin_page_loader(e),n.trigger("change"))},admin_page_loader:function(a){a.append('<div class="qapl-admin-page-loader"><span></span><span></span><span></span></div>')},show_hide_element_on_change:function(){a(".show-hide-trigger input, .show-hide-trigger select").on("change",(function(){a(".quick-ajax-field-container[data-conditional]").each((function(){const t=a(this),n=t.data("conditional");let e=!0;for(const t in n){if(!n.hasOwnProperty(t))continue;const _=n[t],o=a("#"+t);if((o.is(":checkbox")?o.is(":checked")?"1":"0":o.val())!==_){e=!1;break}}e?t.removeClass("inactive"):t.addClass("inactive")}))}))},quick_ajax_tabs:function(){if(a(".quick-ajax-tabs").length){const t=a(".quick-ajax-tab-button"),n=a(".quick-ajax-tab-content");t.on("click",(function(e){e.preventDefault();const _=a(this).data("tab"),o=Number(_.split("-").pop()),i=new URL(window.location.href);i.searchParams.set("tab",o),history.replaceState(null,"",i.toString()),t.removeClass("active").attr("aria-selected","false").attr("tabindex","-1"),n.removeClass("active").attr("hidden",!0),a(this).addClass("active").attr("aria-selected","true").attr("tabindex","0"),a("#"+_).addClass("active").attr("hidden",!1)})),t.on("keydown",(function(a){const n=t.index(this);let e;if("ArrowRight"===a.key)e=(n+1)%t.length;else{if("ArrowLeft"!==a.key)return;e=(n-1+t.length)%t.length}t.eq(e).focus().click()}));const e=new URLSearchParams(window.location.search),_=parseInt(e.get("tab"),10);if(!isNaN(_)){const t=a('.quick-ajax-tab-button[data-tab="'+("quick-ajax-tab-"+_)+'"]');t.length&&t.trigger("click")}}},copy_code:function(){const t=this;a(".copy-button-text").on("click",(function(){var n=a(this),e=a("#"+n.data("copy"));e.length&&t.copy_to_clipboard(e.text(),n,n.data("label-copied"),n.text())}))},copy_input:function(){const t=this;a(".copy-button-input").on("click",(function(){var n=a(this),e=document.getElementById(n.data("copy"));e&&t.copy_to_clipboard(e.value,n,n.data("label-copied"),n.text())}))},copy_to_clipboard:function(a,t,n,e,_){var o=_||1e3,i=function(){t.text(n),setTimeout((function(){t.text(e)}),o)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(a).then(i).catch((function(){}));else{var c=document.createElement("textarea");c.value=a,c.style.position="fixed",c.style.left="-9999px",document.body.appendChild(c),c.select();try{document.execCommand("copy"),i()}catch(a){}document.body.removeChild(c)}},generateId:function(a){let t=0;for(let n=0;n<a.length;n++)t+=a.charCodeAt(n),n%2==0?t+=a.charCodeAt(n):t-=a.charCodeAt(n);return t},getExcludedPostIds:function(a){var t=a.split(/[,\s]+/),n=[];return t.forEach((function(a){/^\d+$/.test(a)&&-1===n.indexOf(a)&&n.push(a)})),n.join(", ")},cleanClassNames:function(a){let t=a.replace(/,/g," ").split(/\s+/);return t=t.filter(((a,t,n)=>!/^\d/.test(a)&&""!==a&&n.indexOf(a)===t)),t.join(", ")},qapl_collect_input_data:function(){const t={};return a(".function-generator-wrap input, .function-generator-wrap select").each((function(n,e){const _=a(e),o=_.attr("name"),i=_.attr("id");if("checkbox"===e.type)if(o&&o.endsWith("[]")){let a=o.replace(/\[\]$/,"");t[a]||(t[a]=[]),_.prop("checked")&&t[a].push(_.val())}else t[i]=_.prop("checked")?1:0;else t[i]=_.val()})),t},qapl_generate_args:function(a){const t=this;let n="",e="",_="";(n+="$quick_ajax_args = [\n",n+="    'post_type' => '"+a.qapl_select_post_type+"',\n",n+="    'posts_per_page' => "+a.qapl_select_posts_per_page+",\n","none"!==a.qapl_select_orderby&&(n+="    'orderby' => '"+a.qapl_select_orderby+"',\n"),n+="    'order' => '"+a.qapl_select_order+"',\n",""!==a.qapl_select_post_not_in)&&(n+="    'post__not_in' => ["+t.getExcludedPostIds(a.qapl_select_post_not_in)+"],\n");if(1===a.qapl_ignore_sticky_posts&&(n+="    'ignore_sticky_posts' => "+a.qapl_ignore_sticky_posts+",\n"),1===a.qapl_show_select_taxonomy&&(n+="    'selected_taxonomy' => '"+a.qapl_select_taxonomy+"',\n"),1===a.qapl_show_select_taxonomy&&1===a.qapl_manual_term_selection){var o=a.qapl_manual_selected_terms;o&&o.length>0&&(e="[",e+=o.map((a=>`${a}`)).join(", "),e+="]"),e&&(n+="    'selected_terms' => "+e+",\n")}let i=n.trimEnd();return i.endsWith(",")&&(n=i.slice(0,-1)+"\n"),n+="];",""!==n.trim()&&(_+="\n// Define AJAX query parameters for '"+a.qapl_select_post_type+"' type posts.\n",_+=n.trim()+"\n"),_},qapl_generate_attributes:function(a,t){const n=this;let e={},_="";e[qapl_quick_ajax_admin_data.constants.quick_ajax_id]=t,1===a.qapl_layout_quick_ajax_css_style&&(e[qapl_quick_ajax_admin_data.constants.quick_ajax_css_style]=a.qapl_layout_quick_ajax_css_style,e[qapl_quick_ajax_admin_data.constants.grid_num_columns]=a.qapl_layout_select_columns_qty),a.qapl_layout_quick_ajax_post_item_template&&(e[qapl_quick_ajax_admin_data.constants.post_item_template]=a.qapl_layout_quick_ajax_post_item_template),a.qapl_layout_add_taxonomy_filter_class&&""!==a.qapl_layout_add_taxonomy_filter_class&&(e[qapl_quick_ajax_admin_data.constants.taxonomy_filter_class]=n.cleanClassNames(a.qapl_layout_add_taxonomy_filter_class)),a.qapl_layout_add_container_class&&""!==a.qapl_layout_add_container_class&&(e[qapl_quick_ajax_admin_data.constants.container_class]=n.cleanClassNames(a.qapl_layout_add_container_class)),1===a.qapl_show_custom_load_more_post_quantity&&(e[qapl_quick_ajax_admin_data.constants.load_more_posts]=a.qapl_select_custom_load_more_post_quantity),1===a.qapl_override_global_loader_icon&&(e[qapl_quick_ajax_admin_data.constants.loader_icon]=a.qapl_loader_icon),1===a.qapl_ajax_on_initial_load&&(e[qapl_quick_ajax_admin_data.constants.ajax_initial_load]=a.qapl_ajax_on_initial_load),1===a.qapl_ajax_infinite_scroll&&(e[qapl_quick_ajax_admin_data.constants.infinite_scroll]=a.qapl_ajax_infinite_scroll),1===a.qapl_show_end_post_message&&(e[qapl_quick_ajax_admin_data.constants.show_end_message]=a.qapl_show_end_post_message);var o="";return Object.keys(e).length>0&&(o="",o+="$quick_ajax_attributes = [\n",Object.entries(e).forEach((([a,t])=>{let e;e=n.quick_ajax_is_numeric(t)?parseInt(t):"string"==typeof t?`'${t}'`:t,o+=`    '${a}' => ${e},\n`})),o=o.slice(0,-2)+"\n",o+="];"),""!==o.trim()&&(_+="\n// Define attributes for AJAX.\n",_+=o.trim()+"\n"),_},qapl_generate_sort_controls:function(a){let t=null,n=null;1===a.qapl_show_order_button&&(t=a.qapl_select_orderby_button_options,t&&t.length>0&&(n="$quick_ajax_sort_options = [",n+=t.map((a=>`'${a}'`)).join(", "),n+="];"));var e="",_="";null!==t&&n&&(e="",e+=n,_="",_+="if(function_exists('qapl_render_sort_controls')){\n",_+="    qapl_render_sort_controls(\n",_+="        $quick_ajax_args,\n",_+="        $quick_ajax_attributes,\n",_+="        $quick_ajax_sort_options\n",_+="    );\n",_+="}");let o="";return"string"==typeof e&&""!==e.trim()&&(o+="\n// Set the sort options for the button.\n",o+=e.trim()+"\n"),"string"==typeof _&&""!==_.trim()&&(o+="\n// Render the sorting control button.\n",o+=_.trim()+"\n"),o},qapl_generate_taxonomy_filter:function(a){let t=null,n="",e="";return 1===a.qapl_show_select_taxonomy&&(t=a.qapl_select_taxonomy),null!==t&&(e+="if(function_exists('qapl_render_taxonomy_filter')){\n",e+="    qapl_render_taxonomy_filter(\n",e+="        $quick_ajax_args,\n",e+="        $quick_ajax_attributes,\n",e=e.slice(0,-2)+"\n",e+="    );\n",e+="}"),""!==e.trim()&&(n+="\n// Render the navigation for '"+a.qapl_select_taxonomy+"' taxonomy.\n",n+=e.trim()+"\n"),n},qapl_generate_post_container:function(a,t){let n="",e="";return e+="if(function_exists('qapl_render_post_container')){\n",e+="   qapl_render_post_container(\n",e+="       $quick_ajax_args,\n",""!==t&&(e+="       $quick_ajax_attributes,\n"),e=e.slice(0,-2)+"\n",e+="   );\n",e+="}",""!==e.trim()&&(n+="\n// Render the grid for '"+a.qapl_select_post_type+"' type posts.\n",n+=e.trim()+"\n"),n},quick_ajax_function_generator:function(){const t=this;this.data_available&&a(".generate-function-button").on("click",(function(){const n=a(this),e=n.attr("data-output"),_=a("#"+e),o=a('.copy-button-text[data-copy="'+e+'"]');n.prop("disabled",!0),o.prop("disabled",!0);const i=t.qapl_collect_input_data(),c=Object.values(i).join(""),s=t.generateId(c),l=t.qapl_generate_args(i),r=t.qapl_generate_attributes(i,s),d=[l,r,t.qapl_generate_sort_controls(i),t.qapl_generate_taxonomy_filter(i),t.qapl_generate_post_container(i,r)].filter(Boolean).join("");_.empty();for(var p=d.split("\n"),u=0;u<p.length;u++)!function(a){setTimeout((function(){_.append(p[a]+"\n"),a===p.length-1&&(n.prop("disabled",!1),o.prop("disabled",!1))}),50*u)}(u)}))},quick_ajax_is_numeric:function(a){return/^-?\d+(\.\d+)?$/.test(a)},quick_ajax_color_picker:function(){a(".color-picker-field").wpColorPicker()},quick_ajax_select_text:function(a){var t,n;document.body.createTextRange?((t=document.body.createTextRange()).moveToElementText(a),t.select()):window.getSelection&&(n=window.getSelection(),(t=document.createRange()).selectNodeContents(a),n.removeAllRanges(),n.addRange(t))},click_and_select_shortcode:function(){const t=this;a(".quick-ajax-shortcode").on("click",(function(){t.quick_ajax_select_text(this)}))},click_and_select_all:function(){const t=this;a(".click-and-select-all").on("click",(function(){var n=a(this).find("code").get(0);t.quick_ajax_select_text(n)}))},click_and_select:function(t){a(".click-and-select").on("click",(function(){this.select()}))},accordion_block_toggle:function(){var t=a("#wpbody-content");if(t.find(".quick-ajax-tabs").length>0){var n=a("#adminmenuwrap").outerHeight();t.css("min-height",n)}a(".quick-ajax-accordion-toggle").click((function(){a(this).toggleClass("active").next(".quick-ajax-accordion-content").slideToggle(200)}));var e=window.location.hash;if(e){var _=a(e);if(_.length){var o=_.find(".quick-ajax-accordion-toggle").first(),i=o.next(".quick-ajax-accordion-content");o.addClass("active"),i.show();var c=_.offset().top-110;c<0&&(c=0),a("html, body").scrollTop(c)}}}};a(document).ready((function(){t.init()}))}(jQuery);
  • quick-ajax-post-loader/trunk/languages/quick-ajax-post-loader.pot

    r3399506 r3448095  
    44"Project-Id-Version: Quick Ajax Post Loader\n"
    55"Report-Msgid-Bugs-To: \n"
    6 "POT-Creation-Date: 2025-09-30 16:18+0000\n"
     6"POT-Creation-Date: 2026-01-25 13:20+0000\n"
    77"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    88"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1818
    1919#: includes/form/class-form-field-factory.php:166
    20 #: includes/form/class-form-field-factory.php:533
    21 #: includes/form/class-form-field-factory.php:534
    22 #: build/github/includes/form/class-form-field-factory.php:166
    23 #: build/github/includes/form/class-form-field-factory.php:533
    24 #: build/github/includes/form/class-form-field-factory.php:534
    25 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:166
    26 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:533
    27 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:534
     20#: includes/form/class-form-field-factory.php:562
     21#: includes/form/class-form-field-factory.php:563
    2822msgid "A → Z"
    2923msgstr ""
    3024
    31 #: includes/form/class-form-field-factory.php:355
    32 #: build/github/includes/form/class-form-field-factory.php:355
    33 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:355
     25#: includes/form/class-form-field-factory.php:377
    3426msgid "Add Class to Post Container"
    3527msgstr ""
    3628
    37 #: includes/form/class-form-field-factory.php:344
    38 #: build/github/includes/form/class-form-field-factory.php:344
    39 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:344
     29#: includes/form/class-form-field-factory.php:366
    4030msgid "Add Class to Taxonomy Filter"
    4131msgstr ""
    4232
    43 #: includes/form/class-form-field-factory.php:348
    44 #: build/github/includes/form/class-form-field-factory.php:348
    45 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:348
     33#: includes/form/class-form-field-factory.php:370
    4634msgid "Add classes to the filter: class-one, class-two, class-three"
    4735msgstr ""
    4836
    49 #: includes/form/class-form-field-factory.php:359
    50 #: build/github/includes/form/class-form-field-factory.php:359
    51 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:359
     37#: includes/form/class-form-field-factory.php:381
    5238msgid "Add classes to the post container: class-one, class-two, class-three"
    5339msgstr ""
     
    5541#: includes/admin/class-admin-menu.php:27
    5642#: includes/admin/class-admin-menu.php:28
    57 #: build/github/includes/admin/class-admin-menu.php:27
    58 #: build/github/includes/admin/class-admin-menu.php:28
    5943#: includes/admin/cpt/creator/class-creator-post-type.php:15
    60 #: build/wordpress-org/trunk/includes/admin/class-admin-menu.php:27
    61 #: build/wordpress-org/trunk/includes/admin/class-admin-menu.php:28
    62 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:15
    63 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:15
    6444msgid "Add New"
    6545msgstr ""
    6646
    6747#: includes/admin/cpt/creator/class-creator-post-type.php:16
    68 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:16
    69 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:16
    7048msgid "Add New Quick Ajax"
    7149msgstr ""
    7250
    73 #: includes/admin/cpt/creator/class-creator-form.php:153
     51#: includes/admin/cpt/creator/class-creator-form.php:177
    7452#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:161
    75 #: build/github/includes/admin/cpt/creator/class-creator-form.php:153
    76 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:161
    77 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-form.php:153
    78 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:161
    7953msgid "Additional Settings"
    8054msgstr ""
    8155
    82 #: includes/form/class-form-field-factory.php:296
    83 #: build/github/includes/form/class-form-field-factory.php:296
    84 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:296
     56#: includes/form/class-form-field-factory.php:311
    8557msgid "Apply Quick AJAX CSS Style"
    8658msgstr ""
    8759
    88 #: includes/form/class-form-field-factory.php:299
    89 #: build/github/includes/form/class-form-field-factory.php:299
    90 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:299
     60#: includes/form/class-form-field-factory.php:314
    9161msgid "Apply Quick AJAX CSS styles and column layout."
    9262msgstr ""
    9363
    9464#: includes/form/class-form-field-factory.php:88
    95 #: build/github/includes/form/class-form-field-factory.php:88
    96 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:88
    9765msgid "Ascending - order from lowest to highest"
    9866msgstr ""
    9967
    10068#: includes/admin/cpt/creator/class-creator-columns.php:29
    101 #: build/github/includes/admin/cpt/creator/class-creator-columns.php:29
    102 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-columns.php:29
    10369msgid "Author"
    10470msgstr ""
    10571
    10672#: includes/form/class-form-field-factory.php:183
    107 #: build/github/includes/form/class-form-field-factory.php:183
    108 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:183
    10973msgid "Available Sorting Options"
    11074msgstr ""
    11175
    112 #: includes/form/class-form-field-factory.php:337
    113 #: build/github/includes/form/class-form-field-factory.php:337
    114 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:337
     76#: includes/form/class-form-field-factory.php:352
    11577msgid "Choose a template for displaying post items."
    11678msgstr ""
    11779
    118 #: includes/form/class-form-field-factory.php:423
    119 #: build/github/includes/form/class-form-field-factory.php:423
    120 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:423
     80#: includes/form/class-form-field-factory.php:445
    12181msgid ""
    12282"Choose an icon to display as the loading indicator when the \"Load More\" "
     
    12585
    12686#: includes/form/class-form-field-factory.php:63
    127 #: build/github/includes/form/class-form-field-factory.php:63
    128 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:63
    12987msgid "Choose Terms"
    13088msgstr ""
    13189
    13290#: includes/form/class-form-field-factory.php:24
    133 #: build/github/includes/form/class-form-field-factory.php:24
    134 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:24
    13591msgid "Choose the post type you want to display using AJAX."
    13692msgstr ""
    13793
    13894#: includes/form/class-form-field-factory.php:127
    139 #: build/github/includes/form/class-form-field-factory.php:127
    140 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:127
    14195msgid "Choose the sorting criteria for posts."
    14296msgstr ""
    14397
    144 #: includes/form/class-form-field-factory.php:567
    145 #: build/github/includes/form/class-form-field-factory.php:567
    146 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:567
     98#: includes/form/class-form-field-factory.php:596
    14799msgid ""
    148100"Choose this option to remove old, unused data from the database. This will "
     
    151103msgstr ""
    152104
    153 #: includes/form/class-form-field-factory.php:347
    154 #: includes/form/class-form-field-factory.php:358
    155 #: build/github/includes/form/class-form-field-factory.php:347
    156 #: build/github/includes/form/class-form-field-factory.php:358
    157 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:347
    158 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:358
     105#: includes/form/class-form-field-factory.php:369
     106#: includes/form/class-form-field-factory.php:380
    159107msgid "class-name, another-class-name"
    160108msgstr ""
    161109
    162110#: includes/form/class-form-field-factory.php:113
    163 #: build/github/includes/form/class-form-field-factory.php:113
    164 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:113
    165111msgid "Comments: Sort by comment count"
    166112msgstr ""
    167113
    168 #: includes/form/class-form-field-factory.php:564
    169 #: build/github/includes/form/class-form-field-factory.php:564
    170 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:564
     114#: includes/form/class-form-field-factory.php:593
    171115msgid "Confirm Purge of Old Data"
    172116msgstr ""
    173117
     118#: includes/admin/cpt/creator/class-creator-shortcode-box.php:34
     119#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:218
     120msgid "Copied"
     121msgstr ""
     122
     123#: includes/admin/cpt/creator/class-creator-shortcode-box.php:35
     124msgid "Copy"
     125msgstr ""
     126
    174127#: includes/admin/cpt/creator/class-creator-shortcode-box.php:15
    175 #: build/github/includes/admin/cpt/creator/class-creator-shortcode-box.php:15
    176 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-shortcode-box.php:15
     128#: includes/admin/cpt/creator/class-creator-shortcode-box.php:28
    177129msgid "Copy and paste this shortcode on the page to display the posts list"
    178130msgstr ""
    179131
    180132#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:218
    181 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:218
    182 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:218
    183133msgid "Copy Code"
    184134msgstr ""
    185135
    186 #: includes/form/class-form-field-factory.php:456
    187 #: build/github/includes/form/class-form-field-factory.php:456
    188 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:456
     136#: includes/form/class-form-field-factory.php:189
     137msgid "Custom labels for sorting options"
     138msgstr ""
     139
     140#: includes/form/class-form-field-factory.php:485
    189141msgid ""
    190142"Customize the \"Load More\" button text. This label will appear on the "
     
    193145msgstr ""
    194146
    195 #: includes/form/class-form-field-factory.php:434
    196 #: build/github/includes/form/class-form-field-factory.php:434
    197 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:434
     147#: includes/form/class-form-field-factory.php:463
    198148msgid ""
    199149"Customize the \"Read More\" text for your templates. This label will appear "
     
    202152msgstr ""
    203153
    204 #: includes/form/class-form-field-factory.php:445
    205 #: build/github/includes/form/class-form-field-factory.php:445
    206 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:445
     154#: includes/form/class-form-field-factory.php:474
    207155msgid ""
    208156"Customize the \"Show All\" text label for the filter. This label will appear "
     
    211159msgstr ""
    212160
    213 #: includes/form/class-form-field-factory.php:467
    214 #: build/github/includes/form/class-form-field-factory.php:467
    215 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:467
     161#: includes/form/class-form-field-factory.php:496
    216162msgid ""
    217163"Customize the message shown when no posts match the selected filters. "
     
    220166msgstr ""
    221167
    222 #: includes/form/class-form-field-factory.php:478
    223 #: build/github/includes/form/class-form-field-factory.php:478
    224 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:478
     168#: includes/form/class-form-field-factory.php:507
    225169msgid ""
    226170"Customize the message that appears when there are no more posts to load. "
     
    230174
    231175#: includes/form/class-form-field-factory.php:105
    232 #: build/github/includes/form/class-form-field-factory.php:105
    233 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:105
    234176msgid "Date: Sort by publication date"
    235177msgstr ""
    236178
    237179#: includes/form/class-form-field-factory.php:123
    238 #: build/github/includes/form/class-form-field-factory.php:123
    239 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:123
    240180msgid "Default Sort By"
    241181msgstr ""
    242182
    243183#: includes/form/class-form-field-factory.php:94
    244 #: build/github/includes/form/class-form-field-factory.php:94
    245 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:94
    246184msgid "Default Sort Order"
    247185msgstr ""
    248186
    249187#: includes/form/class-form-field-factory.php:84
    250 #: build/github/includes/form/class-form-field-factory.php:84
    251 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:84
    252188msgid "Descending - order from highest to lowest"
    253189msgstr ""
    254190
    255191#: includes/form/class-form-field-factory.php:77
    256 #: build/github/includes/form/class-form-field-factory.php:77
    257 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:77
    258192msgid "Determine the number of posts to be loaded per AJAX request."
    259193msgstr ""
    260194
    261 #: includes/form/class-form-field-factory.php:289
    262 #: build/github/includes/form/class-form-field-factory.php:289
    263 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:289
     195#: includes/form/class-form-field-factory.php:296
    264196msgid "Display a message when there are no more posts to load via AJAX."
    265197msgstr ""
    266198
    267 #: includes/form/class-form-field-factory.php:197
    268 #: build/github/includes/form/class-form-field-factory.php:197
    269 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:197
     199#: includes/form/class-form-field-factory.php:204
    270200msgid ""
    271201"Display taxonomy filter and sorting options in a single row to save space "
     
    274204
    275205#: includes/admin/cpt/creator/class-creator-post-type.php:17
    276 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:17
    277 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:17
    278206msgid "Edit Quick Ajax"
    279207msgstr ""
    280208
    281209#: includes/form/class-form-field-factory.php:137
    282 #: build/github/includes/form/class-form-field-factory.php:137
    283 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:137
    284210msgid ""
    285211"Enable a button that allows users to switch between ascending and descending "
     
    288214
    289215#: includes/form/class-form-field-factory.php:34
    290 #: build/github/includes/form/class-form-field-factory.php:34
    291 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:34
    292216msgid "Enable filtering by taxonomy/category."
    293217msgstr ""
    294218
    295 #: includes/form/class-form-field-factory.php:276
    296 #: build/github/includes/form/class-form-field-factory.php:276
    297 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:276
     219#: includes/form/class-form-field-factory.php:283
    298220msgid "Enable Infinite Scroll"
    299221msgstr ""
    300222
    301223#: includes/form/class-form-field-factory.php:56
    302 #: build/github/includes/form/class-form-field-factory.php:56
    303 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:56
    304224msgid "Enable manual selection of taxonomy terms to be used for filtering."
    305225msgstr ""
    306226
    307 #: includes/form/class-form-field-factory.php:279
    308 #: build/github/includes/form/class-form-field-factory.php:279
    309 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:279
     227#: includes/form/class-form-field-factory.php:286
    310228msgid ""
    311229"Enable this option to automatically load more posts via AJAX as the user "
     
    313231msgstr ""
    314232
    315 #: includes/form/class-form-field-factory.php:269
    316 #: build/github/includes/form/class-form-field-factory.php:269
    317 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:269
     233#: includes/form/class-form-field-factory.php:276
    318234msgid ""
    319235"Enable this option to load the initial set of posts via AJAX on page load. "
     
    322238msgstr ""
    323239
    324 #: includes/form/class-form-field-factory.php:249
    325 #: build/github/includes/form/class-form-field-factory.php:249
    326 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:249
     240#: includes/form/class-form-field-factory.php:298
     241msgid "End message content"
     242msgstr ""
     243
     244#: includes/form/class-form-field-factory.php:256
    327245msgid "Enter a list of post IDs to exclude from the query."
    328246msgstr ""
    329247
    330 #: includes/form/class-form-field-factory.php:455
    331 #: build/github/includes/form/class-form-field-factory.php:455
    332 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:455
     248#: includes/form/class-form-field-factory.php:484
    333249msgid "Enter custom label for Load More"
    334250msgstr ""
    335251
    336 #: includes/form/class-form-field-factory.php:433
    337 #: build/github/includes/form/class-form-field-factory.php:433
    338 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:433
     252#: includes/form/class-form-field-factory.php:462
    339253msgid "Enter custom label for Read More"
    340254msgstr ""
    341255
    342 #: includes/form/class-form-field-factory.php:444
    343 #: build/github/includes/form/class-form-field-factory.php:444
    344 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:444
     256#: includes/form/class-form-field-factory.php:473
    345257msgid "Enter custom label for Show All"
    346258msgstr ""
    347259
    348 #: includes/form/class-form-field-factory.php:477
    349 #: build/github/includes/form/class-form-field-factory.php:477
    350 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:477
     260#: includes/form/class-form-field-factory.php:506
    351261msgid "Enter message for end of posts"
    352262msgstr ""
    353263
    354 #: includes/form/class-form-field-factory.php:466
    355 #: build/github/includes/form/class-form-field-factory.php:466
    356 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:466
     264#: includes/form/class-form-field-factory.php:495
    357265msgid "Enter message for no posts found"
    358266msgstr ""
    359267
    360 #: includes/form/class-form-field-factory.php:245
    361 #: build/github/includes/form/class-form-field-factory.php:245
    362 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:245
     268#: includes/form/class-form-field-factory.php:252
    363269msgid "Excluded Post IDs"
    364270msgstr ""
    365271
    366 #: includes/admin/cpt/creator/class-creator-form.php:89
     272#: includes/admin/cpt/creator/class-creator-form.php:92
    367273#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:104
    368 #: build/github/includes/admin/cpt/creator/class-creator-form.php:89
    369 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:104
    370 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-form.php:89
    371 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:104
    372274msgid "General Settings"
    373275msgstr ""
    374276
    375277#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:102
    376 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:102
    377 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:102
    378278msgid ""
    379279"Generate a fully functional PHP snippet to embed your custom AJAX post "
     
    382282
    383283#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:217
    384 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:217
    385 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:217
    386284msgid "Generate Function"
    387285msgstr ""
     
    389287#: includes/admin/pages/settings/tabs/class-settings-tab-options.php:44
    390288#: includes/admin/pages/settings/tabs/class-settings-tab-options.php:56
    391 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-options.php:44
    392 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-options.php:56
    393 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-options.php:44
    394 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-options.php:56
    395289msgid "Global Options"
    396290msgstr ""
    397291
    398292#: includes/admin/pages/settings/tabs/class-settings-tab-help.php:17
    399 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-help.php:17
    400 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-help.php:17
    401293msgid "Help"
    402294msgstr ""
    403295
    404296#: includes/admin/pages/settings/tabs/class-settings-tab-help.php:23
    405 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-help.php:23
    406 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-help.php:23
    407297msgid "Help Content"
     298msgstr ""
     299
     300#: includes/form/class-form-field-factory.php:447
     301msgid "How to add a new loader icon?"
     302msgstr ""
     303
     304#: includes/form/class-form-field-factory.php:354
     305msgid "How to add a new post item template?"
    408306msgstr ""
    409307
     
    416314msgstr ""
    417315
    418 #: includes/form/class-form-field-factory.php:256
    419 #: build/github/includes/form/class-form-field-factory.php:256
    420 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:256
     316#: includes/form/class-form-field-factory.php:263
    421317msgid "Ignore Sticky Posts"
    422318msgstr ""
    423319
    424 #: includes/form/class-form-field-factory.php:194
    425 #: build/github/includes/form/class-form-field-factory.php:194
    426 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:194
     320#: includes/form/class-form-field-factory.php:201
    427321msgid "Inline Filter & Sorting"
    428322msgstr ""
    429323
    430324#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:169
    431 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:169
    432 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:169
    433325msgid "Layout Settings"
    434326msgstr ""
    435327
    436 #: includes/admin/cpt/creator/class-creator-form.php:163
    437 #: build/github/includes/admin/cpt/creator/class-creator-form.php:163
    438 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-form.php:163
     328#: includes/admin/cpt/creator/class-creator-form.php:198
    439329msgid "layout Settings"
    440330msgstr ""
    441331
    442 #: includes/form/class-form-field-factory.php:369
    443 #: build/github/includes/form/class-form-field-factory.php:369
    444 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:369
     332#: includes/form/class-form-field-factory.php:391
    445333msgid "Load a different number of posts after the initial display."
    446334msgstr ""
    447335
    448 #: includes/form/class-form-field-factory.php:266
    449 #: build/github/includes/form/class-form-field-factory.php:266
    450 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:266
     336#: includes/form/class-form-field-factory.php:273
    451337msgid "Load Initial Posts via AJAX"
    452338msgstr ""
    453339
    454 #: includes/ajax/class-ajax.php:739
    455 #: includes/form/class-form-field-factory.php:454
     340#: includes/ajax-render/class-ajax-load-more-renderer.php:71
     341#: includes/form/class-form-field-factory.php:483
    456342#: includes/template-renderers/class-template-hooks.php:135
    457 #: build/github/includes/ajax/class-ajax.php:739
    458 #: build/github/includes/form/class-form-field-factory.php:454
    459 #: build/github/includes/template-renderers/class-template-hooks.php:135
    460 #: build/wordpress-org/trunk/includes/ajax/class-ajax.php:739
    461 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:454
    462 #: build/wordpress-org/trunk/includes/template-renderers/class-template-hooks.php:135
    463343msgid "Load More"
    464344msgstr ""
    465345
    466 #: includes/form/class-form-field-factory.php:366
    467 #: build/github/includes/form/class-form-field-factory.php:366
    468 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:366
     346#: includes/form/class-form-field-factory.php:388
    469347msgid "Load More Post Quantity"
    470348msgstr ""
    471349
    472350#: includes/admin/cpt/creator/class-creator-post-type.php:18
    473 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:18
    474 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:18
    475351msgid "New Quick Ajax"
    476352msgstr ""
    477353
    478354#: includes/form/class-form-field-factory.php:148
    479 #: includes/form/class-form-field-factory.php:500
    480 #: includes/form/class-form-field-factory.php:501
    481 #: build/github/includes/form/class-form-field-factory.php:148
    482 #: build/github/includes/form/class-form-field-factory.php:500
    483 #: build/github/includes/form/class-form-field-factory.php:501
    484 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:148
    485 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:500
    486 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:501
     355#: includes/form/class-form-field-factory.php:529
     356#: includes/form/class-form-field-factory.php:530
    487357msgid "Newest"
    488358msgstr ""
    489359
    490360#: includes/admin/cpt/creator/class-creator-post-type.php:21
    491 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:21
    492 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:21
    493361msgid "No Items found"
    494362msgstr ""
    495363
    496364#: includes/admin/cpt/creator/class-creator-post-type.php:22
    497 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:22
    498 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:22
    499365msgid "No Items found in trash"
    500366msgstr ""
    501367
    502 #: includes/form/class-form-field-factory.php:476
     368#: includes/form/class-form-field-factory.php:505
    503369#: includes/template-renderers/class-template-hooks.php:141
    504 #: build/github/includes/form/class-form-field-factory.php:476
    505 #: build/github/includes/template-renderers/class-template-hooks.php:141
    506 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:476
    507 #: build/wordpress-org/trunk/includes/template-renderers/class-template-hooks.php:141
    508370msgid "No more posts to load"
    509371msgstr ""
    510372
    511 #: includes/form/class-form-field-factory.php:465
     373#: includes/form/class-form-field-factory.php:494
    512374#: includes/template-renderers/class-template-hooks.php:138
    513 #: build/github/includes/form/class-form-field-factory.php:465
    514 #: build/github/includes/template-renderers/class-template-hooks.php:138
    515 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:465
    516 #: build/wordpress-org/trunk/includes/template-renderers/class-template-hooks.php:138
    517375msgid "No posts found"
    518376msgstr ""
    519377
    520 #: includes/ajax/actions.php:154
    521 #: includes/form/class-form-content-builder.php:290
    522 #: build/github/includes/ajax/actions.php:154
    523 #: build/github/includes/form/class-form-content-builder.php:290
    524 #: build/wordpress-org/trunk/includes/ajax/actions.php:154
    525 #: build/wordpress-org/trunk/includes/form/class-form-content-builder.php:290
     378#: includes/ajax-controller/class-ajax-admin-controller.php:44
     379#: includes/form/class-form-content-builder.php:300
    526380msgid "No taxonomy available"
    527381msgstr ""
    528382
    529 #: includes/ajax/actions.php:133
    530 #: includes/form/class-form-content-builder.php:263
    531 #: build/github/includes/ajax/actions.php:133
    532 #: build/github/includes/form/class-form-content-builder.php:263
    533 #: build/wordpress-org/trunk/includes/ajax/actions.php:133
    534 #: build/wordpress-org/trunk/includes/form/class-form-content-builder.php:263
     383#: includes/ajax-controller/class-ajax-admin-controller.php:32
     384#: includes/form/class-form-content-builder.php:273
    535385msgid "No taxonomy found"
    536386msgstr ""
    537387
    538 #: includes/ajax/actions.php:193
    539 #: includes/form/class-form-content-builder.php:297
    540 #: build/github/includes/ajax/actions.php:193
    541 #: build/github/includes/form/class-form-content-builder.php:297
    542 #: build/wordpress-org/trunk/includes/ajax/actions.php:193
    543 #: build/wordpress-org/trunk/includes/form/class-form-content-builder.php:297
     388#: includes/ajax-controller/class-ajax-admin-controller.php:81
     389#: includes/form/class-form-content-builder.php:307
    544390msgid "No terms found"
    545391msgstr ""
    546392
    547 #: includes/form/class-form-field-factory.php:313
    548 #: build/github/includes/form/class-form-field-factory.php:313
    549 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:313
     393#: includes/form/class-form-field-factory.php:328
    550394msgid "Number of Columns"
    551395msgstr ""
    552396
    553397#: includes/form/class-form-field-factory.php:154
    554 #: includes/form/class-form-field-factory.php:511
    555 #: includes/form/class-form-field-factory.php:512
    556 #: build/github/includes/form/class-form-field-factory.php:154
    557 #: build/github/includes/form/class-form-field-factory.php:511
    558 #: build/github/includes/form/class-form-field-factory.php:512
    559 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:154
    560 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:511
    561 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:512
     398#: includes/form/class-form-field-factory.php:540
     399#: includes/form/class-form-field-factory.php:541
    562400msgid "Oldest"
    563401msgstr ""
    564402
    565 #: includes/form/class-form-field-factory.php:386
    566 #: build/github/includes/form/class-form-field-factory.php:386
    567 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:386
     403#: includes/form/class-form-field-factory.php:192
     404#: includes/form/class-form-field-factory.php:301
     405msgid "Open settings"
     406msgstr ""
     407
     408#: includes/form/class-form-field-factory.php:408
    568409msgid "Override Global Loader Icon"
    569410msgstr ""
     
    575416#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:94
    576417#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:99
    577 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:94
    578 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:99
    579 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:94
    580 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:99
    581418msgid "PHP Snippet Generator"
    582419msgstr ""
    583420
    584421#: includes/form/class-form-field-factory.php:160
    585 #: includes/form/class-form-field-factory.php:522
    586 #: includes/form/class-form-field-factory.php:523
    587 #: build/github/includes/form/class-form-field-factory.php:160
    588 #: build/github/includes/form/class-form-field-factory.php:522
    589 #: build/github/includes/form/class-form-field-factory.php:523
    590 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:160
    591 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:522
    592 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:523
     422#: includes/form/class-form-field-factory.php:551
     423#: includes/form/class-form-field-factory.php:552
    593424msgid "Popular"
    594425msgstr ""
    595426
    596 #: includes/form/class-form-field-factory.php:376
    597 #: build/github/includes/form/class-form-field-factory.php:376
    598 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:376
     427#: includes/form/class-form-field-factory.php:398
    599428msgid "Posts Per Load (After Initial)"
    600429msgstr ""
    601430
    602431#: includes/form/class-form-field-factory.php:74
    603 #: build/github/includes/form/class-form-field-factory.php:74
    604 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:74
    605432msgid "Posts Per Page"
    606433msgstr ""
     
    608435#: includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:20
    609436#: includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:28
    610 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:20
    611 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:28
    612 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:20
    613 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:28
    614437msgid "Purge Old Data"
    615438msgstr ""
    616439
    617440#: includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:34
    618 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:34
    619 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php:34
    620441msgid "Purge Unused Data"
    621442msgstr ""
     
    626447
    627448#: includes/admin/pages/settings/class-settings-page.php:10
    628 #: build/github/includes/admin/pages/settings/class-settings-page.php:10
    629 #: build/wordpress-org/trunk/includes/admin/pages/settings/class-settings-page.php:10
    630449msgid "Quick AJAX settings"
    631450msgstr ""
    632451
    633452#: includes/admin/cpt/creator/class-creator-post-type.php:14
    634 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:14
    635 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:14
    636453msgid "Quick Ajax Shortcode"
    637454msgstr ""
    638455
    639456#: includes/admin/cpt/creator/class-creator-post-type.php:13
    640 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:13
    641 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:13
    642457msgid "Quick Ajax Shortcodes"
    643458msgstr ""
    644459
    645460#: includes/form/class-form-field-factory.php:178
    646 #: includes/form/class-form-field-factory.php:555
    647 #: includes/form/class-form-field-factory.php:556
    648 #: build/github/includes/form/class-form-field-factory.php:178
    649 #: build/github/includes/form/class-form-field-factory.php:555
    650 #: build/github/includes/form/class-form-field-factory.php:556
    651 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:178
    652 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:555
    653 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:556
     461#: includes/form/class-form-field-factory.php:584
     462#: includes/form/class-form-field-factory.php:585
    654463msgid "Random"
    655464msgstr ""
    656465
    657466#: includes/form/class-form-field-factory.php:117
    658 #: build/github/includes/form/class-form-field-factory.php:117
    659 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:117
    660467msgid "Random: Random order"
    661468msgstr ""
    662469
    663 #: includes/form/class-form-field-factory.php:432
     470#: includes/form/class-form-field-factory.php:461
    664471#: includes/template-renderers/class-template-hooks.php:132
    665 #: build/github/includes/form/class-form-field-factory.php:432
    666 #: build/github/includes/template-renderers/class-template-hooks.php:132
    667 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:432
    668 #: build/wordpress-org/trunk/includes/template-renderers/class-template-hooks.php:132
    669472msgid "Read More"
    670473msgstr ""
    671474
    672475#: includes/admin/pages/settings/tabs/class-settings-tab-options.php:71
    673 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-options.php:71
    674 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-options.php:71
    675476msgid "Save Settings"
    676477msgstr ""
    677478
    678479#: includes/admin/cpt/creator/class-creator-post-type.php:20
    679 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:20
    680 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:20
    681480msgid "Search Quick Ajax"
    682481msgstr ""
    683482
    684 #: includes/form/class-form-field-factory.php:419
    685 #: build/github/includes/form/class-form-field-factory.php:419
    686 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:419
     483#: includes/form/class-form-field-factory.php:441
    687484msgid "Select Loader Icon"
    688485msgstr ""
    689486
    690 #: includes/form/class-form-field-factory.php:333
    691 #: build/github/includes/form/class-form-field-factory.php:333
    692 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:333
     487#: includes/form/class-form-field-factory.php:348
    693488msgid "Select Post Item Template"
    694489msgstr ""
    695490
    696491#: includes/form/class-form-field-factory.php:20
    697 #: build/github/includes/form/class-form-field-factory.php:20
    698 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:20
    699492msgid "Select Post Type"
    700493msgstr ""
    701494
    702495#: includes/form/class-form-field-factory.php:53
    703 #: build/github/includes/form/class-form-field-factory.php:53
    704 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:53
    705496msgid "Select Specific Terms"
    706497msgstr ""
    707498
    708499#: includes/form/class-form-field-factory.php:42
    709 #: build/github/includes/form/class-form-field-factory.php:42
    710 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:42
    711500msgid "Select Taxonomy"
    712501msgstr ""
    713502
    714503#: includes/form/class-form-field-factory.php:67
    715 #: build/github/includes/form/class-form-field-factory.php:67
    716 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:67
    717504msgid ""
    718505"Select the specific terms to be used for filtering posts. If left empty, no "
     
    721508
    722509#: includes/form/class-form-field-factory.php:46
    723 #: build/github/includes/form/class-form-field-factory.php:46
    724 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:46
    725510msgid "Select the taxonomy to be used for filtering posts."
    726511msgstr ""
    727512
    728513#: includes/form/class-form-field-factory.php:187
    729 #: build/github/includes/form/class-form-field-factory.php:187
    730 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:187
    731514msgid "Select which sorting options will be available to users."
    732515msgstr ""
    733516
    734 #: includes/form/class-form-field-factory.php:531
    735 #: build/github/includes/form/class-form-field-factory.php:531
    736 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:531
     517#: includes/form/class-form-field-factory.php:560
    737518msgid "Set \"A → Z\" Label"
    738519msgstr ""
    739520
    740 #: includes/form/class-form-field-factory.php:474
    741 #: build/github/includes/form/class-form-field-factory.php:474
    742 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:474
     521#: includes/form/class-form-field-factory.php:503
    743522msgid "Set \"End of Posts\" Message"
    744523msgstr ""
    745524
    746 #: includes/form/class-form-field-factory.php:452
    747 #: build/github/includes/form/class-form-field-factory.php:452
    748 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:452
     525#: includes/form/class-form-field-factory.php:481
    749526msgid "Set \"Load More\" Label"
    750527msgstr ""
    751528
    752 #: includes/form/class-form-field-factory.php:498
    753 #: build/github/includes/form/class-form-field-factory.php:498
    754 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:498
     529#: includes/form/class-form-field-factory.php:527
    755530msgid "Set \"Newest\" Label"
    756531msgstr ""
    757532
    758 #: includes/form/class-form-field-factory.php:463
    759 #: build/github/includes/form/class-form-field-factory.php:463
    760 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:463
     533#: includes/form/class-form-field-factory.php:492
    761534msgid "Set \"No Posts Found\" Message"
    762535msgstr ""
    763536
    764 #: includes/form/class-form-field-factory.php:509
    765 #: build/github/includes/form/class-form-field-factory.php:509
    766 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:509
     537#: includes/form/class-form-field-factory.php:538
    767538msgid "Set \"Oldest\" Label"
    768539msgstr ""
    769540
    770 #: includes/form/class-form-field-factory.php:520
    771 #: build/github/includes/form/class-form-field-factory.php:520
    772 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:520
     541#: includes/form/class-form-field-factory.php:549
    773542msgid "Set \"Popular\" Label"
    774543msgstr ""
    775544
    776 #: includes/form/class-form-field-factory.php:553
    777 #: build/github/includes/form/class-form-field-factory.php:553
    778 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:553
     545#: includes/form/class-form-field-factory.php:582
    779546msgid "Set \"Random\" Label"
    780547msgstr ""
    781548
    782 #: includes/form/class-form-field-factory.php:430
    783 #: build/github/includes/form/class-form-field-factory.php:430
    784 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:430
     549#: includes/form/class-form-field-factory.php:459
    785550msgid "Set \"Read More\" Label"
    786551msgstr ""
    787552
    788 #: includes/form/class-form-field-factory.php:441
    789 #: build/github/includes/form/class-form-field-factory.php:441
    790 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:441
     553#: includes/form/class-form-field-factory.php:470
    791554msgid "Set \"Show All\" Label"
    792555msgstr ""
    793556
    794 #: includes/form/class-form-field-factory.php:542
    795 #: build/github/includes/form/class-form-field-factory.php:542
    796 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:542
     557#: includes/form/class-form-field-factory.php:571
    797558msgid "Set \"Z → A\" Label"
    798559msgstr ""
    799560
    800 #: includes/form/class-form-field-factory.php:389
    801 #: build/github/includes/form/class-form-field-factory.php:389
    802 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:389
     561#: includes/form/class-form-field-factory.php:411
    803562msgid "Set a different loader icon than the one specified in global options."
    804563msgstr ""
    805564
    806 #: includes/form/class-form-field-factory.php:379
    807 #: build/github/includes/form/class-form-field-factory.php:379
    808 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:379
     565#: includes/form/class-form-field-factory.php:401
    809566msgid ""
    810567"Set how many posts to load each time the \"Load More\" button is clicked."
    811568msgstr ""
    812569
    813 #: includes/form/class-form-field-factory.php:535
    814 #: build/github/includes/form/class-form-field-factory.php:535
    815 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:535
     570#: includes/form/class-form-field-factory.php:564
    816571msgid ""
    817572"Set the label for sorting posts alphabetically (A to Z) based on the post "
     
    819574msgstr ""
    820575
    821 #: includes/form/class-form-field-factory.php:546
    822 #: build/github/includes/form/class-form-field-factory.php:546
    823 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:546
     576#: includes/form/class-form-field-factory.php:575
    824577msgid ""
    825578"Set the label for sorting posts alphabetically (Z to A) based on the post "
     
    828581msgstr ""
    829582
    830 #: includes/form/class-form-field-factory.php:524
    831 #: build/github/includes/form/class-form-field-factory.php:524
    832 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:524
     583#: includes/form/class-form-field-factory.php:553
    833584msgid ""
    834585"Set the label for sorting posts by the highest number of comments. Examples: "
     
    836587msgstr ""
    837588
    838 #: includes/form/class-form-field-factory.php:502
    839 #: build/github/includes/form/class-form-field-factory.php:502
    840 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:502
     589#: includes/form/class-form-field-factory.php:531
    841590msgid ""
    842591"Set the label for sorting posts from newest to oldest (based on publication "
     
    844593msgstr ""
    845594
    846 #: includes/form/class-form-field-factory.php:513
    847 #: build/github/includes/form/class-form-field-factory.php:513
    848 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:513
     595#: includes/form/class-form-field-factory.php:542
    849596msgid ""
    850597"Set the label for sorting posts from oldest to newest (based on publication "
     
    852599msgstr ""
    853600
    854 #: includes/form/class-form-field-factory.php:557
    855 #: build/github/includes/form/class-form-field-factory.php:557
    856 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:557
     601#: includes/form/class-form-field-factory.php:586
    857602msgid ""
    858603"Set the label for sorting posts in a random order. Examples: \"Shuffle\", "
     
    862607#: includes/admin/class-admin-menu.php:37
    863608#: includes/admin/class-admin-menu.php:38
    864 #: build/github/includes/admin/class-admin-menu.php:37
    865 #: build/github/includes/admin/class-admin-menu.php:38
    866 #: build/wordpress-org/trunk/includes/admin/class-admin-menu.php:37
    867 #: build/wordpress-org/trunk/includes/admin/class-admin-menu.php:38
    868609msgid "Settings & Features"
    869610msgstr ""
    870611
    871612#: includes/admin/cpt/creator/class-creator-columns.php:24
    872 #: build/github/includes/admin/cpt/creator/class-creator-columns.php:24
    873 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-columns.php:24
    874613msgid "Shortcode"
    875614msgstr ""
    876615
    877616#: includes/admin/cpt/creator/class-creator-post-type.php:23
    878 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:23
    879 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:23
    880617msgid "Shortcodes"
    881618msgstr ""
    882619
    883 #: includes/ajax/class-ajax.php:303
    884 #: includes/form/class-form-field-factory.php:443
    885 #: build/github/includes/ajax/class-ajax.php:303
    886 #: build/github/includes/form/class-form-field-factory.php:443
    887 #: build/wordpress-org/trunk/includes/ajax/class-ajax.php:303
    888 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:443
     620#: includes/ajax-render/class-ajax-ui-renderer.php:95
     621#: includes/form/class-form-field-factory.php:472
    889622msgid "Show All"
    890623msgstr ""
    891624
    892 #: includes/form/class-form-field-factory.php:286
    893 #: build/github/includes/form/class-form-field-factory.php:286
    894 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:286
     625#: includes/form/class-form-field-factory.php:293
    895626msgid "Show End Message"
    896627msgstr ""
    897628
    898629#: includes/form/class-form-field-factory.php:134
    899 #: build/github/includes/form/class-form-field-factory.php:134
    900 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:134
    901630msgid "Show Sorting Button"
    902631msgstr ""
    903632
    904633#: includes/form/class-form-field-factory.php:31
    905 #: build/github/includes/form/class-form-field-factory.php:31
    906 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:31
    907634msgid "Show Taxonomy Filter"
    908635msgstr ""
    909636
    910 #: includes/ajax/class-ajax.php:420
    911 #: build/github/includes/ajax/class-ajax.php:420
    912 #: build/wordpress-org/trunk/includes/ajax/class-ajax.php:420
     637#: includes/ajax-render/class-ajax-ui-renderer.php:214
    913638msgid "Sort by"
    914639msgstr ""
    915640
    916641#: includes/admin/pages/settings/tabs/class-settings-tab-options.php:63
    917 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-options.php:63
    918 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-options.php:63
    919642msgid "Sorting Option Labels"
    920643msgstr ""
    921644
    922 #: includes/admin/cpt/creator/class-creator-form.php:132
     645#: includes/form/class-form-field-factory.php:190
     646msgid "Sorting option labels can be changed in plugin settings."
     647msgstr ""
     648
     649#: includes/admin/cpt/creator/class-creator-form.php:142
    923650#: includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:146
    924 #: build/github/includes/admin/cpt/creator/class-creator-form.php:132
    925 #: build/github/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:146
    926 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-form.php:132
    927 #: build/wordpress-org/trunk/includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php:146
    928651msgid "Sorting Settings"
    929652msgstr ""
    930653
    931654#: includes/form/class-form-field-factory.php:98
    932 #: build/github/includes/form/class-form-field-factory.php:98
    933 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:98
    934655msgid "Specify the order of posts."
    935656msgstr ""
    936657
    937 #: includes/form/class-form-field-factory.php:317
    938 #: build/github/includes/form/class-form-field-factory.php:317
    939 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:317
     658#: includes/form/class-form-field-factory.php:332
    940659msgid "Specify the quantity of columns."
    941660msgstr ""
    942661
    943 #: includes/form/class-form-field-factory.php:259
    944 #: build/github/includes/form/class-form-field-factory.php:259
    945 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:259
     662#: includes/form/class-form-field-factory.php:266
    946663msgid ""
    947664"Specify to ignore sticky posts, treating them as regular posts in the query."
     
    954671msgstr ""
    955672
     673#: includes/form/class-form-field-factory.php:299
     674msgid "The end message text can be changed in plugin settings."
     675msgstr ""
     676
    956677#. %1$s is the required PHP version, %2$s is the current PHP version.
    957 #: quick-ajax-post-loader.php:27 build/github/quick-ajax-post-loader.php:27
    958 #: build/wordpress-org/trunk/quick-ajax-post-loader.php:27
     678#: quick-ajax-post-loader.php:26
    959679#, php-format
    960680msgid "This plugin requires PHP %1$s or higher. Your server is running %2$s."
     
    962682
    963683#. %1$s is the minimum supported WordPress version, %2$s is the current WordPress version.
    964 #: quick-ajax-post-loader.php:41 build/github/quick-ajax-post-loader.php:41
    965 #: build/wordpress-org/trunk/quick-ajax-post-loader.php:41
     684#: quick-ajax-post-loader.php:40
    966685#, php-format
    967686msgid ""
     
    971690
    972691#: includes/form/class-form-field-factory.php:109
    973 #: build/github/includes/form/class-form-field-factory.php:109
    974 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:109
    975692msgid "Title: Sort by post title"
    976693msgstr ""
    977694
     695#: includes/form/class-form-field-factory.php:448
     696msgid ""
     697"To add a new loader icon you need to create a new PHP file in your theme's "
     698"folder."
     699msgstr ""
     700
     701#: includes/form/class-form-field-factory.php:355
     702msgid ""
     703"To add a new post item template you need to create a new PHP file in your "
     704"theme's folder."
     705msgstr ""
     706
     707#: includes/form/class-form-field-factory.php:357
     708#: includes/form/class-form-field-factory.php:450
     709msgid "View detailed guide"
     710msgstr ""
     711
    978712#: includes/admin/cpt/creator/class-creator-post-type.php:19
    979 #: build/github/includes/admin/cpt/creator/class-creator-post-type.php:19
    980 #: build/wordpress-org/trunk/includes/admin/cpt/creator/class-creator-post-type.php:19
    981713msgid "View Quick Ajax"
    982714msgstr ""
    983715
    984716#: includes/admin/class-admin-menu.php:47
    985 #: includes/maintenance/class-updater.php:328
    986 #: includes/maintenance/class-updater.php:357
    987 #: build/github/includes/admin/class-admin-menu.php:47
    988 #: build/github/includes/maintenance/class-updater.php:328
    989 #: build/github/includes/maintenance/class-updater.php:357
    990 #: build/wordpress-org/trunk/includes/admin/class-admin-menu.php:47
    991 #: build/wordpress-org/trunk/includes/maintenance/class-updater.php:328
    992 #: build/wordpress-org/trunk/includes/maintenance/class-updater.php:357
     717#: includes/maintenance/class-updater.php:331
     718#: includes/maintenance/class-updater.php:360
    993719msgid "You do not have sufficient permissions to access this page."
    994720msgstr ""
    995721
    996722#: includes/form/class-form-field-factory.php:172
    997 #: includes/form/class-form-field-factory.php:544
    998 #: includes/form/class-form-field-factory.php:545
    999 #: build/github/includes/form/class-form-field-factory.php:172
    1000 #: build/github/includes/form/class-form-field-factory.php:544
    1001 #: build/github/includes/form/class-form-field-factory.php:545
    1002 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:172
    1003 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:544
    1004 #: build/wordpress-org/trunk/includes/form/class-form-field-factory.php:545
     723#: includes/form/class-form-field-factory.php:573
     724#: includes/form/class-form-field-factory.php:574
    1005725msgid "Z → A"
    1006726msgstr ""
  • quick-ajax-post-loader/trunk/quick-ajax-post-loader.php

    r3438871 r3448095  
    55* Text Domain: quick-ajax-post-loader
    66* Domain Path: /languages
    7 * Version: 1.8.7
     7* Version: 1.8.8
    88* Description: Supercharge post loading with Quick Ajax Post Loader. Enhance user experience and optimize site performance using AJAX technology.
    99* Author: Pawel Grzelkowski
  • quick-ajax-post-loader/trunk/readme.txt

    r3438871 r3448095  
    55Requires at least: 5.6
    66Tested up to: 6.9
    7 Stable tag: 1.8.7
     7Stable tag: 1.8.8
    88Requires PHP: 7.4
    99License: GPLv2 or later
     
    106106== Changelog ==
    107107
     108= 1.8.8 - 2026-01-27 =
     109- Internal code improvements and cleanup
     110- UI improvements and visual refinements
     111- Fixed translation and localization issues
     112
    108113= 1.8.7 - 2026-01-13 =
    109114- Improved admin UI structure and visual consistency across settings screens.
Note: See TracChangeset for help on using the changeset viewer.