我正在设计一个WordPress网站, 我对设计部分进行了深入研究, 现在下一阶段是与数据库相关的事情。
1. 将数据插入数据库。
2. 查询数据并将其显示在页面中。
3. 如果我不想安装widget,我需要创建一个php页面。我需要在哪里放置代码?
我用谷歌搜索了一些插件, 然后得到了php代码小部件插件, 并以小部件的形式插入了我的页面之一
我尝试安装insert_php插件, 但无法正常工作, 因此我继续使用php_code_widget
页面-> 所有页面-> 主页-> 添加行-> 添加小部件-> Php代码小部件。
现在在我的MySQL数据库中, 我有一个名为Rituals的简单表, 该表具有三列
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();
?>
没有插入数据。
你能建议一种将数据插入数据库中以及检索数据并将其显示在我的WordPress页面中的正确且快速的方法。任何帮助表示赞赏。
#1你必须自定义主题,
添加代码以在提交表单时执行操作。
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 = http://www.srcmini.com/$_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>
<
formclass="userform">
Ritual Name: <
input type="text" id="rname" name="rname" />
<
br>
<
br>
Ritual Active: <
input type="text" id="ractive" name="ractive" />
<
br>
<
br>
<
inputid="usersubmit"type="submit" Value="http://www.srcmini.com/Submit" />
<
/form>
<
/div>
<
!-- #content -->
<
/div>
<
!-- #primary -->
<
?php get_sidebar( 'content' );
?>
<
/div>
<
!-- #main-content -->
<
?php
get_sidebar();
get_footer();
【在WordPress页面中从MySQL插入和查询数据】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 = http://www.srcmini.com/{'rname':document.getElementById('rname').value, 'ractive':document.getElementById('ractive').value, };
ajaxFunctionformprocess(fromdata, 'form_action_function');
});
});
推荐阅读
- 在类别页面上按其子类别划分列出自定义帖子类型
- 在插件管理设置页面中包括所见即所得编辑器()
- 在自定义主题或插件中包括ACF(高级自定义字段)(在分发中导出字段)
- 将WordPress数据库导入到现在的新主机站点未显示
- WordPress上divi主题的航路点如何工作()
- WordPress主题和插件更新如何从远程服务器工作
- 没有注册脚本可以挂在钩子上时,如何wp_add_inline_script()
- 如何在wordpress中使用wp_mail()函数
- 8个用来取消或中止 Windows 关闭/重启的工具