запустить шорткод wodpress в полностью настраиваемом файле - PullRequest
0 голосов
/ 19 сентября 2018

поэтому у меня есть страница 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.";
 }
 ?>         

извините за плохое объяснение, для более подробной информации плз комментарий .... и не понизить голос, потому что я не нашел ответа из других мест ... и я застрял на нем...

1 Ответ

0 голосов
/ 19 сентября 2018

Сделайте это плагином, что легко сделать.

Создайте папку с именем myplugin в wp-content/plugins, в папку поместите файл с именем 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');

Затем перейдите на страницу плагина и включите его.

...