簡體   English   中英

如何在主題functions.php中定義和使用輔助函數?

[英]How to define and use helper functions in theme functions.php?

如何讓以下在Wordress Theme functions.php文件中正常工作?

我還沒想出如何在主題的functions.php文件中使top函數可用於bottom函數。 我沒有抓住如何設置掛鈎,以便它們可以一起工作。 謝謝。

過濾器/助手/ whateveryoucallit功能:

function poohToPee( $pooh_log )
{
  switch( $pooh_log )
  {
    case 'gross-poop':
      $pee_equivalent = 'Grossest of Pees';
    break;
    case 'ok-poop':
      $pee_equivalent = 'Bland Snack Pee';
    break;
    case 'shang-tsung-plop':
      $pee-equivalent = 'Random U-Stream';
    break;
  }
  return $pee_equivalent;
}

Ajax處理函數:

function screw_loose()
{
  if( isset($_REQUEST['pooh_log']) )
  {
    echo poohToPee( $_REQUEST['pooh_log'] );
  }
}
add_action('wp_ajax_priv_screw_loose', 'screw_loose')

add_action通常調用你在調用hook時傳遞的函數。

既然你正在使用某種ajax鈎子,你真的可以確保你的函數沒有被調用嗎? 因為它在后台運行,所以它不會回顯到屏幕上的任何內容。

通常,您在functions.php中定義的任何函數都可以在主題中使用。

顯然通常最好組織並擁有類,在這種情況下,您將方法作為數組傳遞給鈎子,例如add_action( 'admin_init', array( $this, 'someFunction' ) ); 我剛剛做的add_action將放在類的__construct函數中。

例如,你可以這樣做:

class helloWorld
{
    function __construct()
    {
        add_action( 'admin_init', array( $this, 'echoItOut' ) );
    }

    function echoItOut()
    {
        echo 'Hello World';
    }
}

$helloWorld = new helloWorld;

或者你也可以這樣做:

class helloWorld
{
    function echoItOut()
    {
        echo 'Hello World';
    }
}

$helloWorld = new helloWorld;

add_action( 'admin_init', array( $helloWorld, 'echoItOut' ) );

或者干脆:

function echoItOut()
{
    echo 'Hello World';
}

add_action( 'admin_init', 'echoItOut' );

如果你把我在functions.php文件中提供的任何代碼塊放到你的儀表板上,你會看到管理欄頂部打印出的“Hello World”很可能(如果儀表板可能會因主題而異)有自定義樣式)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM