【问题标题】:run a wodpress shortcode in totally custom file在完全自定义文件中运行 wordpress 短代码
【发布时间】:2018-09-19 17:00:32
【问题描述】:

所以我有一个 Wordpress 页面,我想在其中获取数据...所以我使用 javascript ajax 从 PHP 文件中获取数据...这完全是自定义构建...我想运行一个简码WordPress 在这个自定义文件中并将短代码的 HTML 发送到 WordPress 页面...

这里是javascript

    <script>
    jQuery(document).ready(function(){
        showjob();
    });
    function showjob() {    
    var intrest=document.getElementById("intrest").value; 
        jQuery.ajax({
            method: 'GET',
            url: 'jobsloader.php',
            data: {
                intrest: intrest,
                type: 'need'
            },
            success: function(data) 
            {
                document.getElementById("addcontainer").innerHTML = data;
            }
        });
    }
    </script>

这是自定义文件代码:

 <?php
 if ($_GET)
 {
 ?>

 <div class="vc_row wpb_row vc_row-fluid">

 <?php

    $intrest=$_GET['intrest'];
    $search = "SELECT * FROM `$database`.`$job` where intrest='employee' && poj='$intrest'";
    $result = mysqli_query($con, $search);
    while ($row = mysqli_fetch_array($result))
    {
?>
=======================================================================
<div class="wpb_column vc_column_container vc_col-sm-3">
    <div class="vc_column-inner ">
        <div class="wpb_wrapper">
            <div class="centered-box sc-image-centered-box">
                 <div class="sc-image sc-wrapbox sc-wrapbox-style-11 sc-wrapbox-position-centered" style="width: 100px;height: 100px;">
                    <div class="sc-wrapbox-inner"><img onclick="loaddetail(<?php echo $row['id']; ?>)" class="sc-wrapbox-element img-responsive img-circle" src="<?php echo "../cloud/ads/".$row['addpic'].".png"; ?>" alt=""></div>
                 </div>
             </div>
             <div class="wpb_text_column wpb_content_element ">
                 <div class="wpb_wrapper">
                      <p style="text-align: center;"><?php echo $row['name']; ?></p>
                 </div>         
             </div>
             <div class="vc_btn3-container vc_btn3-center">
                 <button class="vc_general vc_btn3 vc_btn3-size-md vc_btn3-shape-rounded vc_btn3-style-modern vc_btn3-block vc_btn3-icon-left vc_btn3-color-grey"><i class="vc_btn3-icon fa fa-handshake-o"></i> Full Details</button>
             </div>
          </div>
      </div>
 </div>
 ======================================================================

所以上面的整个代码只是下面短代码的 html 部分......而且这个 html 也不能正常工作 [css 问题]......所以我想让短代码在这里工作,然后将工作代码发送到wordpress 页面....如何???

或者如果我可以将短代码作为文本发送并使其在 WordPress 页面中工作......那也可以。但是怎么做???

 <?php echo do_shortcode("[sc_team style="horizontal" team="abc" columns="1"]"); ?>
 <?php
    }
 ?>
 </div>
 <?php  
 }
 else
 {
    echo "Please Try Again Later.";
 }
 ?>         

对不起,解释不好,更多细节请评论....不要投反对票,因为我没有从其他地方找到任何答案...我坚持下去...

【问题讨论】:

  • 自定义文件存在于根文件夹中...以防万一回答需要它...
  • the custom file is present at the root folder 改为插件。我想你可以从插件中包含它,但我不会。
  • @ArtisticPhoenix 我没听懂你刚才说的……你能详细说明一下吗??
  • 最简单的方法是把它做成一个插件,在 wp-content/plugins 文件夹中。这需要很少的工作。
  • 正如其他人所提到的,它可能是一个插件......或者你可以将它添加到你的主题functions.php中。人们建议使用插件(或主题文件),因为然后 WP 被加载到该范围内,而不是在其他“自定义”php 文件中加载。绝对可以在 wordpress 之外处理这个问题,但它很混乱。 wordpress.stackexchange.com/questions/47049/…

标签: javascript php wordpress shortcode


【解决方案1】:

把它做成一个插件,很容易做到。

wp-content/plugins中创建一个名为myplugin的文件夹,在文件夹中放入一个名为myplugin.php的文件(与文件夹相同)。在那个文件里放这个

<?php
/*
 * Plugin Name:   MyPlugin
 * Version:       1.00.00
 * Plugin URI:
 * Description:   Some Description
 * Author:        Me
 * Author URI:    
 * License: Copyright (c) 2018 Me. All rights reserved.
 */

if(!function_exists('myshortcode')){
    function myshortcode($atts, $contents=''){
       $atts = shortcode_atts( [
         'post_id' => '',
       ]);
       ...
   }
}

add_shortcode( 'myshortcode', 'myshortcode');

然后进入插件页面,启用它。

【讨论】:

  • 好吧,我是 wordpress 的菜鸟……我还是没明白……这对我有什么好处……它是如何工作的??
  • 它使您受益,因为它使用 WordPress 功能而不是一些凌乱的“黑客”。所以它在它应该执行的时候执行。你需要一些方法来告诉 wordpress 这个短代码是什么意思,如果你不希望它成为主题代码的一部分,那么插件是你最好的选择。
  • 关于它的工作原理,WordPress 有很好的文档,例如 codex.wordpress.org/Writing_a_Plugin 这比你需要的信息要多得多,但是你去吧。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-11
  • 2016-07-03
  • 2012-12-13
相关资源
最近更新 更多