I am still learning WordPress and I am using .post() function to get the content of a specific post id. when ever I try to echo the ID I have no problem in the output. but when I try to fetch the content the console always throws a 500 (internal server error).
I don’t know what I’m doing wrong.
here is my code.
<div class="container inner-container">
<div class="col-sm-3 col-md-3 sidebar">
<h4 class="bold"><?php echo $cat_name; ?></h4>
<hr>
<nav class="side-nav">
<ul>
<?php $posts=q uery_posts( array( 'post_type'=>'post', 'posts_per_page' => 5, 'order' => 'desc', 'orderby' => 'post_date', 'category_name' => $cat_slug) ); ?>
<?php foreach($posts as $p): ?>
<li class="view-content" value="<?php echo $p->ID; ?>">
<?php echo $p->post_title; ?><span class="hover-arrow-right"><i class="fa fa-chevron-right"></i></span>
</li>
<?php endforeach; ?>
</ul>
</nav>
</div>
<div class="col-sm-9 col-md-9">
<div class="inner-content">
</div>
</div>
</div>
this is the jquery.
jQuery('.view-content').click(function(event) {
var content = jQuery(this).val();
event.preventDefault();
jQuery.post('<?php echo get_template_directory_uri(); ?>/content-from-ajax.php', {
content_id: content,
}, function(res) {
jQuery('.inner-content').html(res);
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
and here is the file that i assigned in .post() function.
<?php
$content_id = $_POST['content_id'];
echo $content_id;
?>
thank you in advance.
sorry for my bad engish grammar.
Use this