diff --git a/css/style.css b/css/style.css
new file mode 100644
index 00000000..e42007d9
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,25 @@
+.likeImg{
+ display: inline-block;
+ width: 20px;
+ cursor: pointer;
+ transition: transform 0.3s ease-in-out;
+}
+
+.likeImg:hover {
+ transform: scale(1.4);
+}
+
+.alert{
+ position: relative;
+ padding: 0.75rem 1.25rem;
+ margin-bottom: 1rem;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
+}
+
+.alert-warning{
+ color: #856404;
+ background-color: #fff3cd;
+ border-color: #ffeeba;
+}
+
diff --git a/img/heart-active.svg b/img/heart-active.svg
new file mode 100644
index 00000000..a6aa2525
--- /dev/null
+++ b/img/heart-active.svg
@@ -0,0 +1,3 @@
+
diff --git a/img/heart.svg b/img/heart.svg
new file mode 100644
index 00000000..e38acbc3
--- /dev/null
+++ b/img/heart.svg
@@ -0,0 +1,3 @@
+
diff --git a/includes/functions.php b/includes/functions.php
new file mode 100644
index 00000000..8ea031d4
--- /dev/null
+++ b/includes/functions.php
@@ -0,0 +1,92 @@
+prefix . 'liked';
+
+ $query = $wpdb->prepare("SELECT * FROM $table_name WHERE id_post = %d AND id_user = %d", $post_id, $user_id);
+ $already_liked = $wpdb->get_row($query);
+
+ $active = '';
+ $liked = 'false';
+ if($already_liked){
+ $active = '-active';
+ $liked = 'true';
+ }
+
+ if (is_singular('post')) {
+
+ if(!is_user_logged_in()){
+ $content = "
funcionalidade de like somente para usuários cadastrados
";
+ return $content;
+ }
+
+ $img_url = plugin_dir_url(dirname(__FILE__)) . "img/heart$active.svg";
+ $img_html = '';
+ $content .= $img_html;
+ }
+
+ return $content;
+}
+add_filter('the_content', 'add_text_after_content');
+
+// Função para adicionar o like
+function register_like() {
+
+ if (isset($_POST['post_id']) && isset($_POST['user_id']) && isset($_POST['is_liked'])) {
+ global $wpdb;
+
+ $table_name = $wpdb->prefix . 'liked';
+
+ $post_id = $_POST['post_id'];
+ $user_id = $_POST['user_id'];
+ $is_liked = $_POST['is_liked'];
+
+ if($is_liked == "true"){
+ $where = array(
+ 'id_user' => $user_id,
+ 'id_post' => $post_id
+ );
+ $wpdb->delete($table_name, $where);
+ wp_send_json(array(
+ 'success' => true,
+ 'message' => 'disliked'
+ ));
+ return false;
+
+ }
+
+ $wpdb->insert(
+ $table_name,
+ array(
+ 'id_post' => $post_id,
+ 'id_user' => $user_id
+ )
+ );
+
+ wp_send_json(array(
+ 'success' => true,
+ 'message' => 'liked'
+ ));
+
+ } else {
+
+ wp_send_json(array(
+ 'success' => false,
+ 'message' => 'deu b.o'
+ ));
+
+ }
+
+ wp_die();
+}
+
+// Hook para adicionar a função no arquivo admin-ajax.php
+add_action('wp_ajax_register_like', 'register_like');
+add_action('wp_ajax_nopriv_register_like', 'register_like');
diff --git a/includes/install.php b/includes/install.php
new file mode 100644
index 00000000..4340dee6
--- /dev/null
+++ b/includes/install.php
@@ -0,0 +1,18 @@
+prefix . 'liked'; // Prefixo do WordPress + nome da tabela
+
+ $sql = "CREATE TABLE IF NOT EXISTS $nome_tabela (
+ id INT NOT NULL AUTO_INCREMENT,
+ id_post INT NOT NULL,
+ id_user INT NOT NULL,
+ PRIMARY KEY (id)
+ )";
+
+ $wpdb->query($sql);
+}
+
+register_activation_hook( __FILE__, 'create_custom_table' );
\ No newline at end of file
diff --git a/js/script.js b/js/script.js
new file mode 100644
index 00000000..072bdd3c
--- /dev/null
+++ b/js/script.js
@@ -0,0 +1,39 @@
+jQuery(document).ready(function ($) {
+ $(".likeImg").click(function () {
+ let postID = $(this).data("post-id");
+ let userID = $(this).data("user-id");
+ let liked = $(this).data("liked");
+
+ let data = {
+ action: "register_like",
+ post_id: postID,
+ user_id: userID,
+ is_liked: liked,
+ };
+ // console.log(liked);
+ // console.log(myAjax);
+
+ $.post(myAjax.ajaxurl, data, function (response) {
+ // console.log(response);
+ if (response.success == true) {
+ if (response.message == "disliked") {
+ // console.log("tirar active");
+ $(".likeImg").attr("src", myAjax.imgUrl + "heart.svg");
+ $(".likeImg").data("liked", "false");
+ return false;
+ }
+
+ if (response.message == "liked") {
+ // console.log("mudar para active");
+ $(".likeImg").attr("src", myAjax.imgUrl + "heart-active.svg");
+ $(".likeImg").data("liked", "true");
+ return false;
+ }
+ }
+
+ if (response.success == false) {
+ alert(response.message);
+ }
+ });
+ });
+});
diff --git a/like.php b/like.php
new file mode 100644
index 00000000..b30b841c
--- /dev/null
+++ b/like.php
@@ -0,0 +1,35 @@
+ admin_url('admin-ajax.php'),
+ 'imgUrl' => plugin_dir_url(dirname(__FILE__)) . "like/img/"
+ );
+ wp_localize_script('like-js', 'myAjax', $paths);
+}
+add_action('wp_enqueue_scripts', 'enqueue_scripts');
+
+
+require_once plugin_dir_path(__FILE__) . 'includes/functions.php';
+
+
+
+
+