首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插件中的add_shortcode

插件中的add_shortcode
EN

Stack Overflow用户
提问于 2020-06-20 12:08:58
回答 1查看 47关注 0票数 0

我在自定义插件中添加短代码时遇到问题。自定义插件代码为:

代码语言:javascript
复制
<?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]

插件在可湿性粉剂管理/插件中注册和激活。

相同的代码在子主题中的functions.php中运行良好。该插件是plugins/my-custom-plugin/my-custom-plugin.php

在插件文件中,如果没有add_action( 'init',...,它将无法工作

EN

回答 1

Stack Overflow用户

发布于 2020-06-20 19:41:20

试试这个--

代码语言:javascript
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62481545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档