在插件中为自定义帖子类型添加简码

时间:2018-11-27 17:35:33

标签: php wordpress wordpress-shortcode

我已经在此处阅读了一些问答,并尝试实施给出的一些解决方案,但是即使在最近几天与一些解决方案发生冲突之后,它们都没有起作用。

我已经构建了一个小插件,可以启用名为“提示”的自定义帖子类型。我要做的是为此启用短代码,以便最终用户可以在页面上使用[tips id =“ 123”]来显示单个自定义帖子中的唯一标题和内容,例如,仅显示标题和内容。一个ID为481的自定义帖子。

到目前为止,我已经尝试了以下解决方案: https://wordpress.stackexchange.com/questions/9729/how-would-i-create-a-shortcode-to-display-a-custom-post-within-a-page-or-regular

https://wordpress.stackexchange.com/questions/16723/post-the-content-of-a-specific-custom-post-type-post-within-a-post-using-a-sho?rq=1

每次更改相应的帖子类型,没有运气。

感觉我缺少一些小东西。

目前,我已经尝试将上述代码放入主题functions.php文件中,并直接放入我的插件文件中。

就像我说的那样,我已经尝试了几天了,弄乱了代码,观看了许多视频,在网上和在这里阅读,但是一分钱都还没有跟我走!

感谢所有帮助:)

如果有帮助的话,这里是插件的代码:

<?php

/**
* @package BIMTips
*/
/*
Plugin Name: BIM Tips
Plugin URI: https://www.[myurlishere]
Description: This plugin is used to add tips to the website. Each tip has its own shortcode that can be used to show the tip content on any page.
Version: 1.0.0
Author: Daniel
Author URI: https://www.[myurlishere]
License: GPLv2 or later
Text Domain: bim-tips
*/

if ( ! defined( 'ABSPATH' ) ) {
die;
}

class BimTips
{
// Construct
function __construct() {
    add_action( 'init', array( $this, 'custom_post_type' ) );
}

//Enqueue Scripts
function register() {
    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
}

// Activate
function activate() {
    $this->custom_post_type();
    flush_rewrite_rules();
}

// Deactivate
function deactivate() {
    flush_rewrite_rules();
}

// Custom Post Type
function custom_post_type() {
    register_post_type( 'tips', ['public' => true, 'label' => 'Tips'] );
}

// Enqueue Scripts
function enqueue() {
    wp_enqueue_style( 'tipspluginstyle', plugins_url( '/assets/tips-style.css', __FILE__ ) );
    wp_enqueue_script( 'tipspluginscript', plugins_url( '/assets/tipscript.js', __FILE__ ) );
}

}

if ( class_exists( 'BimTips' ) ) {
$bimTips = new BimTips();
$bimTips->register();
}

// Activation
register_activation_hook( __FILE__, array( $bimTIps, 'activate' ) );

// Deactivation
register_deactivation_hook( __FILE__, array( $bimTips, 'deactivate' ) 
);

0 个答案:

没有答案