Plugin

The following hooks are provided for Plugin related events.

PluginSlugInstall

Eklentinin kurulum yapılması için kullanılacak olan bir kancadır. SQL tabloları gibi sorgular burada kullanılmalıdır. Slug yazan kısım eklenti adının Slug formatında olacağını gösterir. Örneğin eklentinin dizin adı social_post ise kancanın adı PluginSocialPostInstall olmalıdır. Eklenti dizin adı ileri_tarihli_makale ise PluginIleriTarihliMakaleInstall olmalıdır. Umarım anlaşılır olmuştur :-)

Example Code
<?php
add_action("PluginExampleInstall",  function() {
    if(!Capsule::schema()->hasTable('social_post')) {
        Capsule::schema()->create('social_post', function ($table) {
            $table->increments('id');
            $table->text('title');
            $table->string('image', 250);
            $table->tinyInteger('status')->default(0)->index();
        });
    }
});

PluginSlugSettings

Eklentinin ayarlarının yapılması için kullanılacak olan bir kancadır. Form oluşturma burada kullanılmalıdır. Slug yazan kısım yukarıda Install kancasında açıklaması yapıldığı gibidir. form bileşenini kullanmak için global $form ekinin fonksiyon içinde ilk satıra basılması gerekir. Detaylı eğitim ve kullanım için example eklentimizi inceleyiniz.

Example Code
<?php
add_action("PluginExampleSettings",  function() {
     global $form;

    $form->set_att('method', 'post');
    $form->set_att('enctype', 'multipart/form-data');
    $form->set_att('wrap_class', 'form-group');
    $form->set_att('add_submit', true);


    /**
    * @title Kısa URL
    * @type radio
    * @key tiny_url
    * @author TE Bilişim (c) 2019
    */
    $form->add_input("Kısa URL", [
        "type"    => "radio",
        "wrap_class" => "col-lg-12 form-group",
        "checked" => Plugins::setting("tiny_url", 0),
        "options" => [ 1 => "Kullan", 0 => "Kullanma" ],
        "note" => "Sosyal medya paylaşımlarında paylaşılan linkin kısa olup olmamasını belirleyebilirsiniz: Örnek: http://tinyurl.com/pubuse8",
    ], "tiny_url" );


    /**
    * @title Twitter API Key
    * @type text
    * @key twitter_apikey
    * @author TE Bilişim (c) 2019
    */
    $form->add_input("Twitter API Key", [
        "class" => ["form-control"],
        "wrap_class" => "col-lg-12 form-group",
        "value" => Plugins::setting("twitter_apikey"),
        "note" => "Twitter'da uygulama oluşturmak için aşağıdaki bu siteyi inceleyebilirsiniz: <a href="http://www.pontikis.net/blog/auto_post_on_twitter_with_php" target="_blank">http://www.pontikis.net/blog/auto_post_on_twitter_with_php</a><br/>Twitter'da oluşturduğunuz uygulamanın API Key kodunu bu alana girmelisiniz",
        "attr" => ["style" => "width: 375px"],
        "required" => true,
    ], "twitter_apikey" );


    /*
    Create the form
    */
    $form->build_form();



});

PluginSlugMain

Eklentinin ana sayfası için kullanılacak olan bir kancadır. Veritabanından çekilen veriler (datatable), listeler gibi şeyler burada gösterilmelidir.. Slug yazan kısım yukarıda Install kancasında açıklaması yapıldığı gibidir.

Example Code
<?php
add_action("PluginExampleMain",  function() {
echo <<<HTML
<div class="table-responsive">
    <table id="veriTablosu" class="table table-condensed table-striped table-hover">
        <thead>
            <tr>
                <th>ID</th>
                <th>Title</th>
                <th scope="col" colspan="1">Action</th>
            </tr>
        </thead>
        <tbody id="the-list">
        ...
        </tbody>
    </table>
</div>
HTML;
});

PluginSlugHelp

Eklentinin yardım tab menüsü için kullanılacak olan bir kancadır. Video eğitim gibi içerikler burada kullanılmalıdır. Slug yazan kısım yukarıda Install kancasında açıklaması yapıldığı gibidir.

Example Code
<?php
add_action("PluginExampleHelp",  function() {
echo <<<HTML
<h3 class="m-b-md">Twitter Application Oluşturma</h3>
<div class="hr-line-dashed"></div>

<iframe src="//player.vimeo.com/video/97971227?title=0&amp;byline=0&amp;portrait=0" width="100%" height="450" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
HTML;
});

PluginSlugInfo

Eklentide bilgilendirme bootstrap alert info için kullanılacak olan bir kancadır.

Example Code
<?php
add_filter("PluginExampleInfo",  function() {
    return "Mobil uygulamanıza Push Bildirimi göndermek için aşağıdaki form alanlarını olması gerektiği gibi doldurup göndermeniz yeterlidir.";
});

PluginSlugTab

Eklenti içine extra tab menü açmak için kullanılacak olan bir kancadır.

Example Code
<?php
add_action("PluginExampleTab",  function() {
    echo "Extra Tab";
});

PluginSlugTabContent

Eklenti içine extra tab menünün içerik bölümü için kullanılacak olan bir kancadır.

Example Code
<?php
add_action("PluginExampleTabContent",  function() {
    echo "Extra Tab Content";
});