2016-12-28 1 views
0

Я разрабатываю веб-сайт WordPress, я тщательно разбираюсь с частью дизайна. Теперь следующий этап - это связанные с базой данных вещи.Вставить и выбрать данные из MySQL в WordPress Страница

1. Insert data into database. 
2. Select the data and display it in the page. 
3. Where i need to create a php page if i dont want to install widget.? where i need the place the code? 

Я гугл некоторого плагина, и я получил php code widget плагина и вставить в один из моих страниц в качестве виджета

Я попытался установить insert_php плагин, но он не работает так, я продолжаю с php_code_widget

Pages-> All Pages-> Home Page -> Add Row -> Add Widget -> Php Code Widget.

Сейчас в моей базе данных MySQL у меня есть простая таблица называется Ритуалы, имеющий три колонки

Ritual ID-> Int -> Auto Increament. 
Ritual_Name-> varchar 
Ritual_Active-> varchar. 

Теперь мне нужно вставить имя Ритуала в базу данных, И с некоторой ссылкой я получил этот код, и я поместил его в окно виджета php.

<?php 
require_once('../../../wp-load.php'); 
function insertuser(){ 

if(isset($_POST['submit']){ 
global $wpdb; 
$rname=$_POST['rname']; 
$ractive=$_POST['ractive']; 
$table_name = $wpdb->prefix . "mahathiwp"; 
    $wpdb->insert($table_name, array ('Ritual_Name' => $rname, 'Ritual_Active' => $ractive)); 
} 
?> 
    <form action="" method="post"> 
    Ritual Name: <input type="text" name="rname" /><br><br> 
    Ritual Active: <input type="text" name="ractive" /><br><br> 
<input type="submit" name="submit"/> 
</form> 

<?php 

} 

insertuser(); 
?> 

Data is not getting inserted.

Можете ли вы предложить правильный и быстрый способ вставки данных в базу данных, а также для извлечения данных и показать его на моей странице WordPress. Любая помощь оценивается.

+0

'' 'if() {' '' Если что? – CUGreen

+0

'if() {' it should be 'if (isset ($ _ POST ['submit'])) {' –

+0

сейчас я добавил его, спасибо u –

ответ

0

Вы должны настроить свою тему,

Добавьте код, чтобы сделать действие во время отправки формы.

functions.php

function childtheme_style_andscripts(){ 
    //wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css'); 
    wp_enqueue_script('ajax-function', get_stylesheet_directory_uri() . '/js/ajaxfunction.js', array('jquery'), '1.0', true); 
    wp_localize_script('ajax-function', 'usersubmitform', array(
     'url'=> admin_url('admin-ajax.php'), 
     'security'=> wp_create_nonce('our-nonce') 
    )); 
} 

add_action('wp_enqueue_scripts','childtheme_style_andscripts'); 


function form_action_function(){ 
    require_once(dirname(__FILE__).'/../../../wp-load.php'); 
    $data = $_POST['data']; 
    global $wpdb; 
    if(!check_ajax_referer('our-nonce', 'security')){ 

     wp_send_json_error('security failed'); 

     return; 

    } 
    //var_dump($data); 
    $rname=$data['rname']; 
    $ractive=$data['ractive']; 

    $table_name = "rituals"; 
    $wpdb->insert($table_name, array ('rname' => $rname, 'ractive' => $ractive)); 

    $wpdb->show_errors(); 
    $wpdb->print_error(); 
    echo 'From Submitted Successfully'; 

    die(); 
} 
add_action('wp_ajax_nopriv_form_action_function','form_action_function'); 
add_action('wp_ajax_form_action_function','form_action_function'); 

Нестандартный Шаблон

<?php 
/** 
    Template Name: Form For User 
*/ 

get_header(); ?> 

<div id="main-content" class="main-content"> 

<?php 
    if (is_front_page() && twentyfourteen_has_featured_posts()) { 
     // Include the featured content template. 
     get_template_part('featured-content'); 
    } 
?> 
    <div id="primary" class="content-area"> 
     <div id="content" class="site-content" role="main"> 
      <h1 class="headingform">User Form</h1> 
      <div class="msg"></div> 
      <form class="userform"> 
       Ritual Name: <input type="text" id="rname" name="rname" /><br><br> 
       Ritual Active: <input type="text" id="ractive" name="ractive" /><br><br> 
       <input id="usersubmit"type="submit" Value="Submit" /> 
      </form> 

     </div><!-- #content --> 
    </div><!-- #primary --> 
    <?php get_sidebar('content'); ?> 
</div><!-- #main-content --> 

<?php 
get_sidebar(); 
get_footer(); 

Ajax-admin.js

Здесь я использовать AJAX, что, почему создается этот файл .Вставьте этот файл в папку темы js.

jQuery(document).ready(function($){ 

    var submitButton = document.getElementById('usersubmit'); 

    var ajaxFunctionformprocess = function(fromdata, action){ 
     $.ajax({ 
      type:'post', 
      url: usersubmitform.url, 
      data:{ 
       action:action, 
       data:fromdata, 
       security:usersubmitform.security, 



      }, 
      success:function(reponse){ 
       $('div.msg').html(reponse); 
      }, 
      error:function(response){ 
       alert(response); 
      } 

     }); 



    } 

    submitButton.addEventListener('click', function(event){ 
     event.preventDefault(); 
     var fromdata = { 
      'rname':document.getElementById('rname').value, 
      'ractive':document.getElementById('ractive').value, 
     }; 
     ajaxFunctionformprocess(fromdata, 'form_action_function'); 

     }); 




}); 
+0

вам нужно создать шаблон страницы в своей теме –

+0

У меня есть тема по умолчанию, которую вы должны сделать согласно вашему требованию. –

+0

Код работает мгновенно, как я могу написать код для отображения введенных данных в списке? –

 Смежные вопросы

  • Нет связанных вопросов^_^