Laden Sie mehr Beiträge Ajax Button in WordPress

Ich habe einen Blick durch die alten Fragen und versucht, viele der verschiedenen Methoden, dass es zu sein scheint, dies zu tun. Der nächste, den ich bekommen habe, zu arbeiten, ist dieser hier: Wie die Umsetzung der Paginierung auf ein benutzerdefiniertes WP_Query Ajax

Ich habe alles versucht und es wird einfach nicht funktionieren. Absolut ändert sich nichts auf der Seite. Wenn Sie überprüfen die Laden-Schaltfläche, und klicken Sie auf es, das jquery ist, dass die Last Mehr Taste Aktion, wie es die änderungen aus <a id="more_posts">Load More</a> zu <a id="more_posts" disables="disabled">Load More</a> die selbst das scheint nicht die richtige für mich sowieso. Es ist nicht das hinzufügen von posts, ich glaube, ich bin etwas fehlt einfach, aber für das Leben von mir ich kann nicht arbeiten, es out.

Den Code in Mein template-Datei ist:

<div id="ajax-posts" class="row">
    <?php 
    $postsPerPage = 3;
    $args = [
        'post_type' => 'post',
        'posts_per_page' => $postsPerPage,
        'cat' => 1
    ];

    $loop = new WP_Query($args);

    while ($loop->have_posts()) : $loop->the_post(); ?>
        <div class="small-12 large-4 columns">
            <h1><?php the_title(); ?></h1>
            <p><?php the_content(); ?></p>
        </div>
        <?php
    endwhile; 

    echo '<a id="more_posts">Load More</a>';

    wp_reset_postdata(); 
    ?>
</div>

Den Code in meine functions Datei ist:

function more_post_ajax(){
    $offset = $_POST["offset"];
    $ppp = $_POST["ppp"];

    header("Content-Type: text/html");
    $args = [
        'suppress_filters' => true,
        'post_type' => 'post',
        'posts_per_page' => $ppp,
        'cat' => 1,
        'offset' => $offset,
    ];

    $loop = new WP_Query($args);

    while ($loop->have_posts()) { $loop->the_post(); 
        the_content();
    }
    exit; 
}

add_action('wp_ajax_nopriv_more_post_ajax', 'more_post_ajax'); 
add_action('wp_ajax_more_post_ajax', 'more_post_ajax');

Und Meine JQuery im footer:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
    jQuery(document).ready( function($) {
        var ajaxUrl = "<?php echo admin_url('admin-ajax.php')?>";

        //What page we are on.
        var page = 5; 
        //Post per page
        var ppp = 3; 

        $("#more_posts").on("click", function() {
            //When btn is pressed.
            $("#more_posts").attr("disabled",true);

            //Disable the button, temp.
            $.post(ajaxUrl, {
                action: "more_post_ajax",
                offset: (page * ppp) + 1,
                ppp: ppp
            })
            .success(function(posts) {
                page++;
                $("#ajax-posts").append(posts);
                //CHANGE THIS!
                $("#more_posts").attr("disabled", false);
            });
        });
    });
</script>

Kann jemand sehen, was ich bin fehlt oder nicht in der Lage zu helfen?

Kommentar zu dem Problem
Vielen Dank für die Mühe, die du hinein gesteckt hast, um mir zu helfen, aber ich kann immer noch nicht bekommen, um zu arbeiten. Mein laden-button ist nicht anklickbar? weißt du, warum das sein könnte? Kommentarautor: Addzy
Weiß nicht, ob du gesehen hast, mein Kommentar, aber Wenn du deinen ajax-code in custom.js dann sollte der code so Aussehen: wp_enqueue_script( 'custom_js', get_template_directory_uri(). '/assets/js/custom.js', array( 'jquery'), ", true ); wp_localize_script( 'custom_js', 'ajax_posts', array( 'ajaxurl' = > admin_url( 'admin-ajax.php' ), 'noposts' => __('Keine älteren Beiträge gefunden', 'fireproduct'), )); Kommentarautor: dingo_d

InformationsquelleAutor der Frage Addzy | 2015-07-23

Schreibe einen Kommentar