簡體   English   中英

如何在WordPress頁面模板中正確嵌入php代碼?

[英]How to correctly embed php code in a Wordpress page template?

我正在將Wordpress與Constructor主題一起使用。 我遇到了以下有關構建簡單Crud應用程序的教程: http : //www.jeasyui.com/tutorial/app/crud3.php

我已根據自己的需要對其進行了自定義,可以在此處找到正常工作的演示: http : //www.szerelmifajdalomklinika.hu/wp-content/themes/constructor/index2.html#

index2.html的代碼是:

<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">

<style type="text/css">
    form{
        margin:0;
        padding:0;
    }
    .dv-table td{
        border:0;
    }
    .dv-table input{
        border:1px solid #ccc;
    }
</style>





<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/datagrid-detailview.js"></script>
<script type="text/javascript">
    $(function(){
        $('#dgpartner').datagrid({
            view: detailview,
            detailFormatter:function(index,row){
                return '<div class="ddv"></div>';
            },
            onExpandRow: function(index,row){
                var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv');
                ddv.panel({
                    border:false,
                    cache:true,
                    href:'show_form.php?index='+index,
                    onLoad:function(){
                        $('#dgpartner').datagrid('fixDetailRowHeight',index);
                        $('#dgpartner').datagrid('selectRow',index);
                        $('#dgpartner').datagrid('getRowDetail',index).find('form').form('load',row);
                    }
                });
                $('#dgpartner').datagrid('fixDetailRowHeight',index);
            }
        });
    });
    function saveItem(index){
        var row = $('#dgpartner').datagrid('getRows')[index];
        var url = row.isNewRecord ? 'save_user.php' : 'update_user.php?partner_id='+row.partner_id;
        $('#dgpartner').datagrid('getRowDetail',index).find('form').form('submit',{
            url: url,
            onSubmit: function(){
                return $(this).form('validate');
            },
            success: function(data){
                data = eval('('+data+')');
                data.isNewRecord = false;
                $('#dgpartner').datagrid('collapseRow',index);
                $('#dgpartner').datagrid('updateRow',{
                    index: index,
                    row: data
                });
            }
        });
    }
    function cancelItem(index){
        var row = $('#dgpartner').datagrid('getRows')[index];
        if (row.isNewRecord){
            $('#dgpartner').datagrid('deleteRow',index);
        } else {
            $('#dgpartner').datagrid('collapseRow',index);
        }
    }
    function destroyItem(){
        var row = $('#dgpartner').datagrid('getSelected');
        if (row){
            $.messager.confirm('Confirm','Are you sure you want to remove this user?',function(r){
                if (r){
                    var index = $('#dgpartner').datagrid('getRowIndex',row);
                    $.post('destroy_user.php',{partner_id:row.partner_id},function(){
                        $('#dgpartner').datagrid('deleteRow',index);
                    });
                }
            });
        }
    }
    function newItem(){
        $('#dgpartner').datagrid('appendRow',{isNewRecord:true});
        var index = $('#dgpartner').datagrid('getRows').length - 1;
        $('#dgpartner').datagrid('expandRow', index);
        $('#dgpartner').datagrid('selectRow', index);
    }
</script>



<table id="dgpartner" title="Partnerek" style="width:900px;height:250px"
        url="get_users.php"
        toolbar="#toolbar" pagination="true"
        fitColumns="true" singleSelect="true">
    <thead>
        <tr>
            <th field="partner_nickname" width="50">Partner beceneve</th>
            <th field="partner_description" width="50">Partner leírása</th>

        </tr>
    </thead>
</table>
<div id="toolbar">
    <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">New</a>
    <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyItem()">Destroy</a>
</div>

我想將其制作為頁面模板。 可以在這里找到http://www.szerelmifajdalomklinika.hu/kapcsolati-vazlat/

模板文件template-szerelmi-partner_raw.php的代碼如下(粘貼到容器中):

<?php
/*
Template Name: Kapcsolat-oldal
*/
/**
 * @package WordPress
 * @subpackage Constructor
 * 
 */


get_header(); ?>
<div id="content" class="box shadow opacity <?php the_constructor_layout_class() ?>">
    <div id="container" >

    <?php $post = get_page(get_query_var('page_id')); $content = apply_filters('the_content', $post->post_content); echo $content;  ?>


        <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">

 <style type="text/css">
        form{
            margin:0;
            padding:0;
        }
        .dv-table td{
            border:0;
        }
        .dv-table input{
            border:1px solid #ccc;
        }
    </style>





    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
    <script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="http://www.jeasyui.com/easyui/datagrid-detailview.js"></script>
    <script type="text/javascript">
        $(function(){
            $('#dgpartner').datagrid({
                view: detailview,
                detailFormatter:function(index,row){
                    return '<div class="ddv"></div>';
                },
                onExpandRow: function(index,row){
                    var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv');
                    ddv.panel({
                        border:false,
                        cache:true,
                        href:'show_form.php?index='+index,
                        onLoad:function(){
                            $('#dgpartner').datagrid('fixDetailRowHeight',index);
                            $('#dgpartner').datagrid('selectRow',index);
                            $('#dgpartner').datagrid('getRowDetail',index).find('form').form('load',row);
                        }
                    });
                    $('#dgpartner').datagrid('fixDetailRowHeight',index);
                }
            });
        });
        function saveItem(index){
            var row = $('#dgpartner').datagrid('getRows')[index];
            var url = row.isNewRecord ? 'save_user.php' : 'update_user.php?partner_id='+row.partner_id;
            $('#dgpartner').datagrid('getRowDetail',index).find('form').form('submit',{
                url: url,
                onSubmit: function(){
                    return $(this).form('validate');
                },
                success: function(data){
                    data = eval('('+data+')');
                    data.isNewRecord = false;
                    $('#dgpartner').datagrid('collapseRow',index);
                    $('#dgpartner').datagrid('updateRow',{
                        index: index,
                        row: data
                    });
                }
            });
        }
        function cancelItem(index){
            var row = $('#dgpartner').datagrid('getRows')[index];
            if (row.isNewRecord){
                $('#dgpartner').datagrid('deleteRow',index);
            } else {
                $('#dgpartner').datagrid('collapseRow',index);
            }
        }
        function destroyItem(){
            var row = $('#dgpartner').datagrid('getSelected');
            if (row){
                $.messager.confirm('Confirm','Are you sure you want to remove this user?',function(r){
                    if (r){
                        var index = $('#dgpartner').datagrid('getRowIndex',row);
                        $.post('destroy_user.php',{partner_id:row.partner_id},function(){
                            $('#dgpartner').datagrid('deleteRow',index);
                        });
                    }
                });
            }
        }
        function newItem(){
            $('#dgpartner').datagrid('appendRow',{isNewRecord:true});
            var index = $('#dgpartner').datagrid('getRows').length - 1;
            $('#dgpartner').datagrid('expandRow', index);
            $('#dgpartner').datagrid('selectRow', index);
        }
    </script>



    <table id="dgpartner" title="Partnerek" style="width:900px;height:250px"
            url="get_users.php"
            toolbar="#toolbar" pagination="true"
            fitColumns="true" singleSelect="true">
        <thead>
            <tr>
                <th field="partner_nickname" width="50">Partner beceneve</th>
                <th field="partner_description" width="50">Partner leírása</th>

            </tr>
        </thead>
    </table>
    <div id="toolbar">
        <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">New</a>
        <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyItem()">Destroy</a>
    </div>

    </div><!-- id='container' -->
    <?php get_constructor_sidebar(); ?>
</div><!-- id='content' -->
<?php get_footer(); ?>

如您所見,第二個變體無法正常工作。 甚至表頭也被嚴重渲染。 如何將此代碼正確導入頁面模板?

關於可能是什么問題的一些想法:在被調用的文件中(例如get_users.php),其中包含一個include 'conn.php'; $conn = @mysql_connect(xxx); 也許,這需要與wordpress默認連接互換嗎? 如果是這樣,怎么辦?

提到的文件包括,主題的header.php之外還有一些東西。 如果我將所有內容復制到那里,則無法解決問題。

感謝您的幫助。

西羅

如果我將上述html頁面內嵌在框架中,則它實際上可以工作。

<iframe name="FRAME2" src="http://www.szerelmifajdalomklinika.hu/wp-content/themes/constructor/index2.html" frameborder="1" width="450" height="400"></iframe>

頁面模板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM