3

HTML 入力をテーマ テンプレート ファイルに挿入しますか?

私の質問はこれです:

現在、私のコードでは、もちろん WordPress フィルターを使用して、カスタム設定ページで設定したものをすべての投稿の最後に表示することができます。

唯一のことは、入力した内容が投稿内のどこかに行きたくないということです。私が達成しようとしている<div></div>のは、そのテンプレート ファイルに含まれるタグ内で、現在のテーマの home.php テンプレート ファイルに入力を挿入することです。問題の<div>には ID が添付されています。これは です<div id="category-inner">。その ID を使用してプラグインでターゲットにする方法はありますか?

実際のhome.phpテンプレートファイルを編集し、そこに直接phpを挿入してユーザー入力を表示することで、なんとか成功しましたが、それは私がやろうとしていることに完全に反します。テンプレート ファイルのソース コードを編集し、プラグインを使用してユーザーが入力したテキストをその特定の場所 (<div>上記) に挿入するだけです。

私のプラグインは、ユーザー入力をサイトの 1 か所に追加するだけで、変更されることはありません。そして、それが常に入る場所は、私が上で述べた場所です.

以下は私のプラグインコードです:

<?php
/*/
Plugin Name: Custom Text Adder
Plugin URI: N/A
Description: Demonstrates how rubbish I am at pretty much everything I want to do
Version: 101
Author: JD
Author URI: N/A
/*/


// insert custom plugin settings menu
add_action('admin_menu', 'custom_create_menu');


add_filter('the_content', 'customhead_the_content');

function customhead_the_content($content) {
    $output = $content;
    $output .= '<div id="category-inner">';
    $output .= get_option('post_text');
    $output .= '</div>';
    return $output;
}

// Add Font-Size to WYSIWYG Editor
function wp_editor_fontsize_filter( $options ) {
    array_shift( $options );
    array_unshift( $options, 'fontsizeselect');
    array_unshift( $options, 'formatselect');
    return $options;
}

add_filter('mce_buttons_2', 'wp_editor_fontsize_filter');

// Create Custom Menu
function custom_create_menu() {

    //create new top-level menu
    add_menu_page('Custom Plugin Settings', 'Custom Settings', 'administrator', __FILE__, 'custom_settings_page',plugins_url('/img/icon.png', __FILE__));

    //call register settings function
    add_action( 'admin_init', 'register_mysettings' );
}

// Register our settings
function register_mysettings() {

    register_setting( 'custom-settings-group', 'new_option_name' );
    register_setting( 'custom-settings-group', 'some_other_option' );
    register_setting( 'custom-settings-group', 'option_etc' );
    register_setting( 'custom-settings-group', 'font_size' );
    register_setting( 'custom-settings-group', 'post_text' );
}

function custom_settings_page() {
?>

<!-- Custom Settings Page Container -->

<div class="wrap">

    <h2>Custom Text</h2>

  <form method="post" action="options.php">
    <?php settings_fields( 'custom-settings-group' ); ?>



    <table class="form-table">

<?php /* Bring the editor onto the page */

wp_editor( '', 'post_text', $settings = array() );

// 4.
// Custom buttons for the editor.
// This is a list separated with a comma after each feature
// eg. link, unlink, bold, ...

$settings = array(
    'textarea_name' => 'post_text',
    'media_buttons' => true,
    'tinymce' => array(
        'theme_advanced_buttons1' => 'formatselect,|,bold,italic,underline,|,' .
            'bullist,blockquote,|,justifyleft,justifycenter' .
            ',justifyright,justifyfull,|,link,unlink,|' .
            ',spellchecker,wp_fullscreen,wp_adv'
    )
);

    submit_button( 'Save everything', 'primary', 'submit' ); ?>

    </table>

  </form> 

</div>

 <?php }; ?>



これを可能な限り簡潔に説明できるスクリーンショットを次に示します。

http://i.imgur.com/hiEjEsA.jpg



繰り返しになりますが、すべての助けが大歓迎です。うまくいけば、私の脳が傷つくのを止めることができます!

あなたはすべてロック、

ケーシー。:)

4

1 に答える 1

0

これを純粋な PHP ソリューションにするかどうかはわかりませんが、div の ID を持っているので、jQuery でそれをターゲットにして、ページの読み込み (またはフォームの送信) でテキストを div に挿入することができます。 :

 $(document).ready(function() {
     var userText = $('#input-id').val();
     $('#category-inner').html(userText);
 })
于 2015-02-03T17:40:25.147 に答える