add_shortcode в плагине - PullRequest
       61

add_shortcode в плагине

0 голосов
/ 20 июня 2020

У меня проблема с добавлением шорткода в настраиваемый плагин. Пользовательский код плагина:

<?php
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
/*
  Plugin Name: ......
  Plugin URI: ..........
  description:
     ..........
  Version: 1.2
 Author: .............
 Author URI: ...........
 License: GPL2
*/



function sdsdsd_my_shortcode(){
    return '9999999999999999';
}

add_action( 'init', 'sdsdsd_add_shortcode' );

function sdsdsd_add_shortcode() {
    add_shortcode( 'sdsdsd_my_shortcode', 'sdsdsd_my_shortcode' )
}

Сообщение редактирования администратора WP: [sdsdsd_my_shortcode], но вместо содержимого он отображает точно [sdsdsd_my_shortcode]

Плагин зарегистрирован и активирован в WP admin / plugins.

Тот же код отлично работает в functions.php в дочерней теме. Плагин plugins/my-custom-plugin/my-custom-plugin.php

В файле плагина не работает и без add_action( 'init',...

1 Ответ

1 голос
/ 20 июня 2020

Попробуйте это -

if ( ! defined( 'ABSPATH' ) ) {
    die( 'You are not allowed to call this page directly.' );
}

if ( ! class_exists( 'Class_Name' ) ) {

    class Class_Name{

        public function __construct() { 
            
            $this->register_hooks();
            
        }

        function register_hooks() {

            add_shortcode( 'sdsdsd_my_shortcode', array($this, 'sdsdsd_shortcode_content') );
        }

        function sdsdsd_shortcode_content() {

            ob_start();
            //Content


            <?php 
            $form = ob_get_contents();
            ob_clean();
            return $form;
        }

    }

return new Class_Name();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...